antiblock
https://i.imgur.com/aJ17bf7.gif
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
yDiioceN

Dúvida Em Programa Para Alterar Dados

2 posts in this topic

boas, alguém me pode ajudar a resolver uns problemas num trabalho?

o problema é o seguinte, depois de inserir os dados quando vou tentar alterar diz que alterou mas quando vou consultar os dados ele eliminou alguns e outros ficaram iguais, alguém me sabe dizer de onde vem o erro sf ?? 

 

programa completo : 

 

#define MAX 50 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
typedef struct aluno{
        int id;
        char aluno[50], morada[50], turma[3]; 
        int num, idade, telefone;
        }aluno;
     
struct aluno art[MAX];
unsigned int NumRegs;
void inicializa(){
     int i;
     NumRegs = 0;
     for(i=0; i<MAX; i++)
     art.id=0;
     }
     
     void menu(){
          puts("Menu - Comandos :");
          puts("n1-Inserir");
          puts("2-Alterar");
          puts("3-Consultar");
          puts("n0-Sair");
          printf("n Opcao:");
          }
       
     void inserir(){
          puts("INSERIR ALUNO");
          art[NumRegs].id=NumRegs + 1;
          gets(art[NumRegs].aluno);
          printf("nIndique o nome do aluno:"); gets(art[NumRegs].aluno);
          printf("nIndique a idade:"); scanf("%d", &art[NumRegs].idade);
          printf("nIndique a morada:"); scanf("%s",art[NumRegs].morada); 
          printf("nIndique o numero de telefone:"); scanf("%d", &art[NumRegs].telefone);
          printf("nIndique a turma:"); scanf("%s",art[NumRegs].turma);
          NumRegs++;
          printf("nn Aluno inserido com o numero:%d", NumRegs);
          getch();
          }
       
     void alterar(){
               int cod, i;
               puts("ALTERAR ALUNOS");
               printf("nIndique o numero do aluno:"); scanf("%d", &cod);
               i=0;
               while ((art.id!=0) && (art.id!=cod)){
                      i++;
                      }
                      if (art.id==cod){
                                          puts("n DADOS DO ALUNO");
                                          printf("nn Nome do aluno: %s", art.aluno);
                                          printf("n Idade do aluno: %d", art.idade);
                                          puts("nn====================================nn");
                                          puts("ALTERACAO A EFECTUAR");
                                          gets(art.aluno);
                                          printf("nIndique o nome do aluno:"); gets(art[NumRegs].aluno);
                                          printf("nIndique a idade:"); scanf("%d", &art[NumRegs].idade);
                                          printf("nIndique a morada:"); scanf("%s",art[NumRegs].morada); 
                                          printf("nIndique o numero de telefone:"); scanf("%d", &art[NumRegs].telefone);
                                          printf("nIndique a turma:"); scanf("%s",art[NumRegs].turma);
                                          puts("n Alteracao efectuada.");
                                          }
                                          else
                                           puts("nn ALUNO INEXISTENTE!");
                                           getch();
                                           }
     void consultar(){
          int cod, i;
                         puts("CONSULTAR ARTIGOS");
                         printf("indique o codigo do aluno: "); scanf("%d", &cod); 
                         i=0; 
                         while ((art.id!=0) && (art.id!=cod)){
                         i++; 
                         }
                         if (art.id==cod){
                            puts("n Dados Do Aluno : ");
                            printf("n Nome do aluno: %s", art.aluno);
                            printf("nn Idade do aluno: %d", art.idade);
                            printf("nn Morada do aluno: %s", art.morada);
                            printf("nn Numero do telefone do aluno: %d", art.telefone);
                            printf("nn Turma do aluno: %s", art.turma);
          }
                        else
                            puts("nn ALUNO INEXISTENTE!");
                        getch();
                        }
 
                     
    main(){
                                                int op;
                                                inicializa();
                                                do{
                                                             system("cls");
                                                             menu();
                                                             scanf("%d", &op);
                                                             system("cls");
                                                             switch (op){
                                                                    case 1:
                                                                         inserir();
                                                                         break;
                                                                    case 2:
                                                                         alterar();
                                                                         break;
                                                                    case 3:
                                                                         consultar();
                                                                         break;
                                                                         }
                                                                         }while(op!=0);
                                                                         }        
 

 

 
 

Share this post


Link to post
Share on other sites
antiblock
https://i.imgur.com/aJ17bf7.gif

boas, alguém me pode ajudar a resolver uns problemas num trabalho?

o problema é o seguinte, depois de inserir os dados quando vou tentar alterar diz que alterou mas quando vou consultar os dados ele eliminou alguns e outros ficaram iguais, alguém me sabe dizer de onde vem o erro sf ?? 

 

programa completo : 

 

#define MAX 50 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
typedef struct aluno{
        int id;
        char aluno[50], morada[50], turma[3]; 
        int num, idade, telefone;
        }aluno;
     
struct aluno art[MAX];
unsigned int NumRegs;
void inicializa(){
     int i;
     NumRegs = 0;
     for(i=0; i<MAX; i++)
     art.id=0;
     }
     
     void menu(){
          puts("Menu - Comandos :");
          puts("n1-Inserir");
          puts("2-Alterar");
          puts("3-Consultar");
          puts("n0-Sair");
          printf("n Opcao:");
          }
       
     void inserir(){
          puts("INSERIR ALUNO");
          art[NumRegs].id=NumRegs + 1;
          gets(art[NumRegs].aluno);
          printf("nIndique o nome do aluno:"); gets(art[NumRegs].aluno);
          printf("nIndique a idade:"); scanf("%d", &art[NumRegs].idade);
          printf("nIndique a morada:"); scanf("%s",art[NumRegs].morada); 
          printf("nIndique o numero de telefone:"); scanf("%d", &art[NumRegs].telefone);
          printf("nIndique a turma:"); scanf("%s",art[NumRegs].turma);
          NumRegs++;
          printf("nn Aluno inserido com o numero:%d", NumRegs);
          getch();
          }
       
     void alterar(){
               int cod, i;
               puts("ALTERAR ALUNOS");
               printf("nIndique o numero do aluno:"); scanf("%d", &cod);
               i=0;
               while ((art.id!=0) && (art.id!=cod)){
                      i++;
                      }
                      if (art.id==cod){
                                          puts("n DADOS DO ALUNO");
                                          printf("nn Nome do aluno: %s", art.aluno);
                                          printf("n Idade do aluno: %d", art.idade);
                                          puts("nn====================================nn");
                                          puts("ALTERACAO A EFECTUAR");
                                          gets(art.aluno);
                                          printf("nIndique o nome do aluno:"); gets(art[NumRegs].aluno);
                                          printf("nIndique a idade:"); scanf("%d", &art[NumRegs].idade);
                                          printf("nIndique a morada:"); scanf("%s",art[NumRegs].morada); 
                                          printf("nIndique o numero de telefone:"); scanf("%d", &art[NumRegs].telefone);
                                          printf("nIndique a turma:"); scanf("%s",art[NumRegs].turma);
                                          puts("n Alteracao efectuada.");
                                          }
                                          else
                                           puts("nn ALUNO INEXISTENTE!");
                                           getch();
                                           }
     void consultar(){
          int cod, i;
                         puts("CONSULTAR ARTIGOS");
                         printf("indique o codigo do aluno: "); scanf("%d", &cod); 
                         i=0; 
                         while ((art.id!=0) && (art.id!=cod)){
                         i++; 
                         }
                         if (art.id==cod){
                            puts("n Dados Do Aluno : ");
                            printf("n Nome do aluno: %s", art.aluno);
                            printf("nn Idade do aluno: %d", art.idade);
                            printf("nn Morada do aluno: %s", art.morada);
                            printf("nn Numero do telefone do aluno: %d", art.telefone);
                            printf("nn Turma do aluno: %s", art.turma);
          }
                        else
                            puts("nn ALUNO INEXISTENTE!");
                        getch();
                        }
 
                     
    main(){
                                                int op;
                                                inicializa();
                                                do{
                                                             system("cls");
                                                             menu();
                                                             scanf("%d", &op);
                                                             system("cls");
                                                             switch (op){
                                                                    case 1:
                                                                         inserir();
                                                                         break;
                                                                    case 2:
                                                                         alterar();
                                                                         break;
                                                                    case 3:
                                                                         consultar();
                                                                         break;
                                                                         }
                                                                         }while(op!=0);
                                                                         }        
 

 

resolvido, erro estúpido x)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this