Saltar para o conteúdo

Usuário(a):Matheus Wahl/PT/C

Origem: Wikipédia, a enciclopédia livre.

AVISO[editar | editar código-fonte]

Nota: Se procura a biblioteca atualizada na terça às 18:40, consulte /Biblioteca.

Programa[editar | editar código-fonte]

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

typedef struct talunos {
  char nummatr [10];
  char nome [70];
  char cpf [11];
  char rg [7]; 
  char endereco [100];
  char e_mail [150];
  char telefone [16];
//  char dia;
//  char mes;
//  char ano;
  float* notas [1];
}alunos;

main()
{   
    int ver;
    alunos bancodedados [100];
    iniciomenu:
    printf("Informe a opcao desejada:\n\n\t1-Cadastrar alunos;\n\t2-Cadastrar alunos via documento txt;\n\t3-Pesquisar aluno por nome\n\t4-Pesquisar aluno por matricula\n\t5-Inserir nota;\n\t6-Mostrar resultado da turma;\n\t7-FIM;\nOpcao: ");
    scanf("%i",&ver);    
    switch (ver)
	{
     case 1:
            {
                int j=0, i=0, contalunos=0;
                char c, opcaseum;
                opcaseum='s';
                while (opcaseum!='n')
                {
                    opcaseum='s';
                    printf ("Aluno %i\n", contalunos);
                    printf ("Digite o numero da matricula.\n");
                    scanf ("%s", &bancodedados[contalunos].nummatr);
                    fflush (stdin);
                    printf ("Digite o nome do aluno.\n");
                    scanf ("%s", &bancodedados[contalunos].nome);
                    fflush (stdin);
                    printf ("Digite o CPF do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].cpf);
                    fflush (stdin);
                    printf ("Digite o RG do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].rg);
                    fflush (stdin);
                    printf ("Digite o endereco do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].endereco);
                    fflush (stdin);
                    printf ("Digite o e-mail do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].e_mail);
                    fflush (stdin);
                    printf ("Digite o telefone do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].telefone);
                    fflush (stdin);
                    printf ("Digite as notas do aluno:\n");
                    scanf ("%s", &bancodedados[contalunos].notas);
                    fflush (stdin);
                    printf ("Deseja inserir as notas de outro aluno? Digite 'n' para nao.\n");
                    scanf ("%s", &opcaseum);
                    fflush (stdin);
                    contalunos++;
                 }
            }
          break;      
     case 2:
            {
                FILE *origem;
                char nome[250];   
                printf ("Digite o caminho do arquivo.\n\n");
                // insarquivo:
                // gets (nome);
                if ((origem=fopen("C:\\teste.txt", "r"))==NULL)
                {
                   system ("cls");
                   printf ("Arquivo inexistente. Tente outro caminho.");
                   system ("pause");
                   exit(0);
                }
                else
                {
                    *fopen(const char teste.txt, const char "r");
                }                
                fgets (nome, 250, origem);
                puts (nome);
                system ("pause");
            }
          break;
     case 3:
	 	  {
            int conttamvetor;
			int i=0;
            char nomeal, nomealpesquisa;
            float nota;
            int tamvetor;
            infuncase3: // PARA O GOTO ABAIXO
            printf ("Insira o nome do aluno.");
            scanf ("%s", &nomealpesquisa);
            fflush (stdin);
            for (i=0;i<100;i++)
            {
                if (strcmp(bancodedados[i].nome, nomealpesquisa)==0)
                {
                   break; //quebra para o prox. break
                }
                
                if (i==100)
                {
                          printf ("Aluno nao encontrado. Tente outro.");
                          goto infuncase3;
                }
                break;                              
            }    
            printf ("Aluno encontrado.\n");
            printf ("%i", bancodedados[i].notas[conttamvetor]);
            break;
			}
	    case 4:
			 {
			 char nummatrpesquisa;
	            {
		  		int i=0;
                infuncase4:
	            printf ("Insira o numero da matricula.");
	            scanf ("%s", &nummatrpesquisa);
	            for (i=0;i<100;i++)
	            {
				 	/*
	                if (strcmp(bancodedados[i].nome, nummatrpesquisa)==0)
	                {
	                   break; //quebra para o prox. break
	                }
	                */
	                if (i==100)
	                {
	                          printf ("Aluno nao encontrado. Tente outro.");
	                          goto infuncase4;
	                }
	                }
	                break;      
	            }    
	            int conttamvetor;
	            printf ("Aluno encontrado.\n");
	            int i;
	            for (conttamvetor=0;conttamvetor<sizeof(bancodedados[i].notas);conttamvetor++)
	            {                        
	               printf ("%i ", bancodedados[i].notas[conttamvetor]);
	            break;
	            }
         break;
		 }
     case 5:
          {     
                int i=0;  
                char nomeal[70];
                float nota;
                int tamvetor;
                infuncase5: // PARA O GOTO ABAIXO
                printf ("Insira o nome do aluno.");
                scanf ("%c", &nomeal);
                gets (nomeal);
                for (i=0;i<100;i++)
                {
                    if (bancodedados[i].nome==nomeal)
                    {
                        break;
                        if (i=100) 
                        {
                           printf ("Aluno nao encontrado. Tente outro.");
                           goto infuncase5;
                        }
                    }
                    break;
                }    
                //=nota; // e poe a nota
          }
          break;
     case 6:
          {
		   		int ct=0;
                for (ct=0;ct<100;ct++)
                {
				 	printf ("Aluno %i", ct);
                    printf ("%c\n", bancodedados[ct].nummatr);
                    printf ("%c\n", bancodedados[ct].nome);
                    printf ("%c\n", bancodedados[ct].cpf);
                    printf ("%c\n", bancodedados[ct].rg);
                    printf ("%c\n", bancodedados[ct].endereco);
                    printf ("%c\n", bancodedados[ct].e_mail);
                    printf ("%c\n", bancodedados[ct].telefone);
                }
          }
          break;
     case 7:
          goto fim;      
     default:
          printf("\nOpcao invalida. Digite novamente.\n");
		  system ("pause");  
          break;
    }
    goto iniciomenu;
    fim:
    system ("pause");
}

struct[editar | editar código-fonte]

main (){
    struct taluno alu;
    printf ("\nDigite a Matricula\n");
    scanf ("%d", &alu.mat);
    printf ("\nDigite a nota 1\n");
    fflush (stdin);
    scanf ("%f", &alu.nota [0]);
    printf ("\nDigite a nota 2\n");
    fflush (stdin);
    scanf ("%f", &alu.nota [1]);
    printf ("\nDigite a nota 3\n");
    fflush (stdin);
    scanf ("%f", &alu.nota [2]);
    printf ("\n O aluno da matricula %d tirou as notas %.2f, %.2f, %.2f\n",
    alu.mat, alu.nota [0], alu.nota [1], alu.nota [2]);
    system ("pause");
    }

main[editar | editar código-fonte]

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdsmal.h>

main()
{   
    int ver;
    printf("Informe a opção desejada:\n\n\t1-Cadastrar alunos;\n\t2-Cadastrar alunos via documento txt;\n\t3-Pesquisar aluno\n\t4-Inserir nota;\n\t5-Mostrar resultado da turma;\n\t6-FIM;\nOpcao: ");
    iniciomenu:
    scanf("%d",&ver);    
    switch(ver){
     case 1:
          cadastraaluno();
          break;
     case 2:
          cadastrartxt();
          break;
     case 3:
          pesquisaaluno();
          break;
     case 4:
          inserirnota();
          break;
     case 5:
          mostraresultado();
          break;
     case 6:
          break;      
     default:
          printf("Opcao invalida. Digite novamente.");
          goto("iniciomenu");          
          break;
    }
}

Copiado[editar | editar código-fonte]

/*O menu do sistema deve conter: Cadastrar aluno(Os alunos deverão ser
cadastrados em ordem crescente), Cadastrar alunos via documento txt,
Pesquisar aluno(por nome ou por matrícula, mostrando todos os dados),
Inserir nota, Mostras resultado da turma(Deve mostrar todos os dados e
também a media e se o aluno está em exame ou não).*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdsmal.h>

    printf("Informe a opção desejada:\n\n\t1-Cadastrar alunos;\n\t2-Cadastrar alunos via documento txt;\n\t3-Pesquisar aluno\n\t4-Inserir nota;\n\t5-Mostrar resultado da turma;\n\t6-FIM;\nOpcao: ");
    iniciomenu:
    scanf("%d",&ver);    
    switch(ver){
     case 1:
          cadastraaluno();
          break;
     case 2:
          cadastrartxt();
          break;
     case 3:
          pesquisaaluno();
          break;
     case 4:
          inserirnota();
          break;
     case 5:
          mostraresultado();
          break;
     case 6:
          break;      
     default:
          printf("Opcao invalida. Digite novamente.");
          goto("iniciomenu");          
          break;
    }
}