Ir ao conteúdo
  • Cadastre-se

função


estudante

Posts recomendados

@estudante     as funções não estão funcionando por que as variáveis tem que ser global colocadas lá no inicio logo depois do struct :

  veja como ficaria seu código com algumas modificações :

#include <iostream>
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include <conio.h>
#define SAIR 5
#define TAMANHO 100
#define CARACTERES_NO_NOME 30
#define TURMA_VAZIA 0
#define TRUE  1
#define FALSE 0
using namespace std;
typedef struct alunos {
    int matricula;
    char nome [CARACTERES_NO_NOME],cad[30];
    float nota1, nota2, media;
} aluno;
int a,ax,h,g,j,k,z;
char resp[5],nomi[30];
int matricula,i;
char nom [CARACTERES_NO_NOME];
float nota1, nota2, media;
int   opcao,
      quantidadeDeAlunosNaTurma=0,
      quantidadeUsada  = TURMA_VAZIA;

aluno atual[TAMANHO];
aluno turma[TAMANHO];
void inkey(){
    do{
        if(kbhit()){g=getch();}
        if(g==115 || g==83){resp[0]='s';}
        if(g==110 || g==78){resp[0]='n';}
    }while(g!=115 && g!=110);/*1 e 1=1  1 e 0=1  0 e 1=1   0 e 0=0*/
    g=0;
}
void incluir(){
    system("cls");
    printf("Vamos Cadastrar Um Aluno\n");
    int continuar = TRUE;
    while(quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) {
        printf("\nDigite Um Nome  ");
        l6:
        fgets(turma[quantidadeUsada].nome, 30, stdin);
        if(strlen(turma[quantidadeUsada].nome)==1){goto l6;}
        // Solicitar os demais dados do aluno
        printf("Digite Sua Matricula  ");
        fflush(stdin);
        scanf("%d",&turma[quantidadeUsada].matricula);
        // Colocar o if perguntando se o usuário realmente deseja incluir
        printf("Deseja Realmente Incluir? S/N: ");
        inkey();
        if ( ( resp[0] == 'S' ) || ( resp[0] == 's' ) ){
            printf("\nInclusao Feita Com Sucesso    Tecle\n");
            getch();
        }
        else {
            if ( ( resp[0] == 'N' ) || ( resp[0] == 'n' ) ) {
                printf("Inclusao Cancelada!    Tecle\n");
                quantidadeUsada--;
                getch();
            }
        }
        quantidadeUsada++;
        z++;
        // Perguntar para o usuário se ele deseja incluir mais alunos na turma
        continuar = FALSE;
        printf("Deseja Cadastrar Mais Um Aluno?   S/N ");
        inkey();
        if(resp[0]=='s'){
        if(quantidadeUsada+1>quantidadeDeAlunosNaTurma){printf("So Pode Ser No Maximo %d alunos   Tecle ",quantidadeDeAlunosNaTurma);
            getch();
            g=1;
        }}
        if(resp[0]=='n'){goto l5;break;}
    }
    if(quantidadeUsada>=quantidadeDeAlunosNaTurma&&g!=1){printf("\nArquivo Cheio, So Pode Cadastrar %d Alunos   Tecle",quantidadeDeAlunosNaTurma);getch();}
    l5:
    g=0;
}
void excluir(){
    char nomi[30];
    if(quantidadeUsada>0){
    printf("\nVamos Excluir Alunos\n");
    do{
    printf("Digite O Nome Do Aluno Que Quer Excluir ");
    l7:
    fgets(nom, 30, stdin);
    if(strlen(nom)==1){goto l7;}
    if(quantidadeUsada<=0){goto l4;}
    for(i=0;i<quantidadeUsada;i++){
        k=0;
        strcpy(nomi,turma[i].nome);
        h=strlen(nomi);
        g=strlen(nom);
        if(h!=g){k=1;}
        for(j=0;j<h;j++){
            if(nom[j]!=nomi[j]){k=1;}
        }
        if(k==0){ax=i;break;}
    }
    if(k==0){
        nom[g-1]=' ';
        printf("Aluno %s Encontrado, Quer Mesmo Exclui-lo ?    S/N ",nom);
        inkey();
        if(resp[0]=='s'||resp[0]=='S'){
            for(i=ax;i<quantidadeUsada;i++){
                turma[i] = turma[i+1];
            }
            z--;
            quantidadeUsada--;
            printf("\nExclusao Realizada Com Sucesso!!!   ");
        }
    }else{printf("\nAluno %s Nao Encotrado !!!   ",nom);}
    printf("\nQuer Excluir Outro Aluno ?  S/N ");
    inkey();
    }while(resp[0]=='s');
    }
    else{
        l4:
        printf("\nNao Tem Nenhum Aluno Cadastrado    Tecle");getch();
    }
}
void listar(){
    if(z>0){printf("\nAqui estão Os Alunos");}
    else{printf("\nNao Tem Nenhum Aluno Cadastrado    Tecle");getch();}
    for(i=0;i<quantidadeUsada;i++){
        if(atual[i].nome[0]!='0'){
            printf("\n----------------------------------------");
            printf("\nNome Da Pessoa  ----> %s",turma[i].nome);
            printf("----------------------------------------\n");
            printf("cuja matricula é --> %d\n",turma[i].matricula);
            if(turma[i].nota1!=0){
                printf("----------------------------------------\n");
                printf("Aqui Esta A Nota1 --> %.2f\n",turma[i].nota1);}
            if(turma[i].nota2!=0){
                printf("----------------------------------------\n");
                printf("Aqui Esta A Nota2 --> %.2f\n",turma[i].nota2);}
            printf("----------------------------------------");
            printf("\n        Tecle\n");getch();
        }
    }
}
void lancar_notas(){
    printf("\nLancar Notas Dos Alunos\n");
    printf("Informe O Nome Do Aluno ");
    h=0;k=0;g=0;
    l8:
    fgets(nom, 30, stdin);
    if(strlen(nom)==1){goto l8;}
    for(i=0;i<quantidadeUsada;i++){
        k=0;
        strcpy(nomi,turma[i].nome);
        h=strlen(nomi)-1;
        g=strlen(nom)-1;
        if(h!=g){k=1;}
        for(j=0;j<h;j++){
            if(nom[j] != nomi[j]){k=1;}
        }
        if(k==0){ax=i;break;}
    }
    if(k==0){
        nom[g]=' ';
        printf("Aluno %s Encontrado\n",nom);
        printf("Informe A Nota1 --> ");
        fflush(stdin);
        scanf("%f",&turma[ax].nota1);
        printf("Informe A Nota2 --> ");
        fflush(stdin);
        scanf("%f",&turma[ax].nota2);
        printf("Notas Lancadas Com Sucesso !!!   Tecle");
        getch();
    }
    else{printf("Aluno %s Nao Encontrado   Tecle",nom);getch();}
}
/*-------------------------------------- inicio --------------------------------------------*/
int main (){

    printf("\t\t\t**********************\n");
    printf("\t\t\t CONFIGURAR O SISTEMA\n");
    printf("\t\t\t**********************\n");
    printf("Digite a quantidade de alunos na turma ");
    scanf("%d",&quantidadeDeAlunosNaTurma);
    printf("\t\t\t**********************\n");

    while(opcao!= SAIR){
        system("cls");
        printf("\t**********************************************************\n");
        if(quantidadeUsada == TURMA_VAZIA) {
            printf("\t\t\t A turma esta vazia\n");
        }
        if(quantidadeUsada == TAMANHO ) {
            printf("\t\t\t A turma esta lotada\n");
        }
        if(quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA ) {
            printf("\t\t\t A turma esta com %d alunos\n",quantidadeUsada);
        }

        printf("\t**********************************************************\n\n");
        printf("\t\t\t********************\n");
        printf("\t\t\t\tMENU\n");
        printf("\t\t\t********************\n");
        printf("\t\t\t 1-Incluir aluno\n\n");
        printf("\t\t\t 2-Excluir aluno\n\n");
        printf("\t\t\t 3-Listar alunos \n\n");
        printf("\t\t\t 4-Lançar notas\n\n");
        printf("\t\t\t 5-Sair\n");
        printf("\t\t\t********************\n\n");
        printf("apenas Tecle O Numero, Não Precisa De Enter ");
        l2:
        opcao=0;
        if(kbhit()){opcao=getch()-48;}
        if( opcao > 0 && opcao < 6 ){goto l3;}
        goto l2;
        l3:
        switch(opcao){
            case 1:
                incluir();
                break;
            case 2:
                excluir();
                break;
            case 3:
                listar();
                break;
            case 4:
                lancar_notas();
                break;
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...