Ir ao conteúdo
  • Cadastre-se

programa com erro


rodrigo75

Posts recomendados

olá galera,

estou começando em C e estou tentando escrever um, utilizei dados que encontrei em outros programas, porém ele não me deixa compilar e está dando erro.

Se puderem em ajudem. obrigado.

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

void incluir();
void alterar();
void excluir();
void listar();

     int menu,x;

    struct cadastro{
        int codigo;
        char nome[30];
        char autor[30];
        int ano;
        int quantidade;
    };
    
    struct cadastro livros [5];

int main()
{
    setlocale(LC_ALL, "Portuguese");
    int menu;
    do
    {
        system("cls");
        printf("<<<PROGRAMA CADASTRO DE LIVROS\n");
        printf("1-Incluir livro\n");
        printf("2-Alterar \n");
        printf("3-Excluir\n");
        printf("4-Listar \n");
        printf("0-Sair\n\n");
        printf("Sua opcao ==> ");
        scanf("%i", &menu);
        
        switch (menu)
        {
            case 1: incluir();                            
                    break;
            case 2: alterar();
                    break;
            case 3: excluir();
                    break;
            case 4: listar();
                    break;
        }
    } while (menu != 0);
}

void incluir(int cod,int x)
{
        system("cls");
        
                printf("Digite o código do livro: ");
                scanf("%i", &cod);
                for(x=0;x <=5;x++)
                
                if (strlen(cod[x]) == 0)
                   {printf("Nome do livro: ");
                            fflush(stdin);
                            fgets(livros[x].nome);
                            printf("Autor: ");
                            fflush(stdin);
                            fgets(livros[x].autor);
                            printf("Ano do livro: ");
                            scanf("%i", &ano[x]);
                            printf("Quantidade de livros: ");
                            scanf("%i", &quantidade[x]);
                            
                   }
                
void alterar()
                          {system("cls");
                          printf("Digite o codigo do livro: ");
                          scanf("%i", &cod);
                          if (strlen(nome[x]) > 0)
                        {   printf("Nome do livro: ");
                            fflush(stdin);
                            fgets(livros[x].nome);
                            printf("Autor: ");
                            fflush(stdin);
                            fgets(livros[x].autor);
                            printf("Ano do livro: ");
                            scanf("%i", &ano[x]);
                            printf("Quantidade de livros: ");
                            fgets(livros[x].quantidade);
                        }
}

void excluir()
                          system("cls");
                          printf("Digite o codigo do livro: ");
                          scanf("%i", &x);
                          if (strlen(nome[x]) > 0)
                          {
                             printf("Tem certeza que deseja excluir?");
                             fflush(stdin);
                             excluir = getchar();
                             if (toupper(excluir) == 'S')
                             {
                               
                                strcpy(nome[x], "");
                                codigo[x] = 0;
                                strcpy(autor[x], "");
                                ano[x] = 0;
                                strcpy(quantidade[x], "");
                             }
                          }
                          else
                          {
                              printf("Erro. Nao existe livro cadastrado neste codigo!\n");
                              system("pause");                              
                          }

 void listar()
                  {system("cls");
                   printf("Listar todos os livros cadastrados: \n\n");
                   for (x = 0; x < 10; x++)
                    {
                              if (strlen(nome[x]) > 0)
                              {                             
                                printf("%i - %s - %i - %s - %i - %i \n", x, nome[x], codigo[x], autor[x], ano[x], quantidade[x]);
                              }
                              printf("\n");
                    }
    
                  }

Link para o comentário
Compartilhar em outros sites

Tinha muitos erros no código, é bom você dar uma entrada nos estudos, copiar código sem saber como funciona complica demais.

Segue:

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

/* Incluir livro */
void incluir();
/* Alterar livro */
void alterar();
/* Excluir livro */
void excluir();
/* Listar livro */
void listar();


/* Estrutura / Dados de um livro */
struct cadastro{
	int codigo;
	char nome[30];
	char autor[30];
	int ano;
	int quantidade;
};

/* Variaveis globais */
int menu,x;
struct cadastro livros[5];

int main()
{
    setlocale(LC_ALL, "Portuguese");
    x = 0, menu = 0;
    do
    {
        system("cls");
        printf("<<<PROGRAMA CADASTRO DE LIVROS\n");
        printf("1-Incluir livro\n");
        printf("2-Alterar \n");
        printf("3-Excluir\n");
        printf("4-Listar \n");
        printf("0-Sair\n\n");
        printf("Sua opcao ==> ");
        scanf("%i", &menu);
        
        switch (menu)
        {
            case 1: incluir();                            
                    break;
            case 2: alterar();
                    break;
            case 3: excluir();
                    break;
            case 4: listar();
                    break;
            default:
			break;
        }
    } while (menu != 0);
}

void incluir(){
	system("cls");
	fflush(stdin);
	
	printf("Digite o código do livro: ");
	scanf("%i", &livros[x].codigo);
    
	printf("\nNome do livro: ");
	scanf("%s",livros[x].nome);
	printf("Autor: ");
	scanf("%s",livros[x].autor);
	printf("Ano do livro: ");
	scanf("%i", &livros[x].ano);
	printf("Quantidade de livros: ");
	scanf("%i", &livros[x].quantidade);
	x++;
}
    
void alterar(){
	int cod = 0;
	
	system("cls");
	fflush(stdin);
	
	printf("Digite o codigo do livro: ");
	scanf("%i", &cod);
	
	for(int i = 0; i < x; i++){
		if(livros[i].codigo == cod){
	   	   	printf("\nDigite o novo código do livro: ");
	   	   	scanf("%i", &livros[i].codigo);
	   	   	printf("Nome do livro: ");
	   	   	scanf("%s",livros[i].nome);
	   	   	printf("Autor: ");
	   	   	scanf("%s",livros[i].autor);
	   	   	printf("Ano do livro: ");
	   	   	scanf("%i", &livros[i].ano);
			printf("Quantidade de livros: ");
	   	   	scanf("%i", &livros[i].quantidade);
			return;
		}
	}
	printf("\nLivro nao encontrado!\n");
}
void excluir(){
	int cod = 0;
	char excluir = '\0';
	
	system("cls");
	fflush(stdin);
	
	printf("Digite o codigo do livro: ");
	scanf("%i", &cod);
	
	for(int i = 0; i < x; i++){
		if(livros[i].codigo == cod){
			printf("Tem certeza que deseja excluir?");
			fflush(stdin);
			excluir = getchar();
            if (toupper(excluir) == 'S'){
			   	strcpy(livros[i].nome, "");
			   	livros[i].codigo = 0;
				strcpy(livros[i].autor, "");
				livros[i].ano = 0;
				livros[i].quantidade = 0;
			}
			return;
		}
	}
	printf("\nLivro nao encontrado!\n");
}
                          
 void listar(){
 	 system("cls");
     printf("Listar todos os livros cadastrados: \n\n");
     for (int i = 0; i < x; i++){
		if (strlen(livros[i].nome) > 0){                             
			printf("%i - %s - %i - %s - %i - %i \n", i, livros[i].nome, livros[i].codigo, livros[i].autor, livros[i].ano, livros[i].quantidade);
		}
		else printf("\n");
	}
	system("pause");
}

 

Link para o comentário
Compartilhar em outros sites

43 minutos atrás, 1freakday disse:

Tinha muitos erros no código, é bom você dar uma entrada nos estudos, copiar código sem saber como funciona complica demais.

Segue:


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

/* Incluir livro */
void incluir();
/* Alterar livro */
void alterar();
/* Excluir livro */
void excluir();
/* Listar livro */
void listar();


/* Estrutura / Dados de um livro */
struct cadastro{
	int codigo;
	char nome[30];
	char autor[30];
	int ano;
	int quantidade;
};

/* Variaveis globais */
int menu,x;
struct cadastro livros[5];

int main()
{
    setlocale(LC_ALL, "Portuguese");
    x = 0, menu = 0;
    do
    {
        system("cls");
        printf("<<<PROGRAMA CADASTRO DE LIVROS\n");
        printf("1-Incluir livro\n");
        printf("2-Alterar \n");
        printf("3-Excluir\n");
        printf("4-Listar \n");
        printf("0-Sair\n\n");
        printf("Sua opcao ==> ");
        scanf("%i", &menu);
        
        switch (menu)
        {
            case 1: incluir();                            
                    break;
            case 2: alterar();
                    break;
            case 3: excluir();
                    break;
            case 4: listar();
                    break;
            default:
			break;
        }
    } while (menu != 0);
}

void incluir(){
	system("cls");
	fflush(stdin);
	
	printf("Digite o código do livro: ");
	scanf("%i", &livros[x].codigo);
    
	printf("\nNome do livro: ");
	scanf("%s",livros[x].nome);
	printf("Autor: ");
	scanf("%s",livros[x].autor);
	printf("Ano do livro: ");
	scanf("%i", &livros[x].ano);
	printf("Quantidade de livros: ");
	scanf("%i", &livros[x].quantidade);
	x++;
}
    
void alterar(){
	int cod = 0;
	
	system("cls");
	fflush(stdin);
	
	printf("Digite o codigo do livro: ");
	scanf("%i", &cod);
	
	for(int i = 0; i < x; i++){
		if(livros[i].codigo == cod){
	   	   	printf("\nDigite o novo código do livro: ");
	   	   	scanf("%i", &livros[i].codigo);
	   	   	printf("Nome do livro: ");
	   	   	scanf("%s",livros[i].nome);
	   	   	printf("Autor: ");
	   	   	scanf("%s",livros[i].autor);
	   	   	printf("Ano do livro: ");
	   	   	scanf("%i", &livros[i].ano);
			printf("Quantidade de livros: ");
	   	   	scanf("%i", &livros[i].quantidade);
			return;
		}
	}
	printf("\nLivro nao encontrado!\n");
}
void excluir(){
	int cod = 0;
	char excluir = '\0';
	
	system("cls");
	fflush(stdin);
	
	printf("Digite o codigo do livro: ");
	scanf("%i", &cod);
	
	for(int i = 0; i < x; i++){
		if(livros[i].codigo == cod){
			printf("Tem certeza que deseja excluir?");
			fflush(stdin);
			excluir = getchar();
            if (toupper(excluir) == 'S'){
			   	strcpy(livros[i].nome, "");
			   	livros[i].codigo = 0;
				strcpy(livros[i].autor, "");
				livros[i].ano = 0;
				livros[i].quantidade = 0;
			}
			return;
		}
	}
	printf("\nLivro nao encontrado!\n");
}
                          
 void listar(){
 	 system("cls");
     printf("Listar todos os livros cadastrados: \n\n");
     for (int i = 0; i < x; i++){
		if (strlen(livros[i].nome) > 0){                             
			printf("%i - %s - %i - %s - %i - %i \n", i, livros[i].nome, livros[i].codigo, livros[i].autor, livros[i].ano, livros[i].quantidade);
		}
		else printf("\n");
	}
	system("pause");
}

 

muito obrigado, me ajudou bastante, estava com duvidas sobre como montar.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!