boa noite a todos, queria a ajuda de vocês para este problema que esta acontecendo em meu programa, é um sistema de cadastro, porém quando eu vou escrever um nome composto (nome e sobrenome) ele ocupa as outras variaveis que estão abaixo, segue o codigo que fiz
#include <stdio.h>
#include <stdlib.h>
#define SIZE 200
//cadastro de clientes
int codcli[SIZE];
char nome[SIZE];
int cpf [SIZE] [50];
int rg [SIZE] [50];
char endereco [SIZE] [50];
char nasc[SIZE] [50];
char hab[SIZE] [50];
//cadastro de automoveis
int codauto[SIZE];
char marca[SIZE] [50];
char modelo[SIZE] [50];
char amodfab[SIZE] [50];
int codclass[SIZE] [50];
//cadastro de classifica??o
int codcla [SIZE];
char desc [SIZE] [50];
float valor[SIZE] [50];
//para op??o
int op;
void cadastroauto();
void cadastrocli();
void cadastroclass();
//void pesquisa();
int main(void) {
do{
printf("\n******************************************************************");
printf("\n***********************RENATO RENT CAR****************************");
printf("\n******************************************************************");
printf("\n******************************************************************");
printf("\n******************************************************************");
printf("\n** 1- Cadastro de Clientes **");
printf("\n** 2- Cadastro de Classificacao de Automoveis **");
printf("\n** 3- Cadastro de Automoveis **");
printf("\n** 4- Sair **");
printf("\n******************************************************************");
printf("\n******************************************************************");
printf("\n**************** Digite a Opcao: ");
scanf("%d", &op);
//Escolha Caso: ele le o numero da op??o escolhida e pula para sua respectiva a??o atraves dos case.
switch(op){
case 1: //Este case fica responsavel pelo cadastro de Clientes
system("cls");
cadastrocli();
break;
case 2: //Este case fica responsavel pelo cadastro de Classifica??o
system("cls");
cadastroclass();
break;
case 3: //Este case fica responsavel pelo cadastro de Automovel
system("cls");
cadastroauto();
break;
case 4: //Este case fica responsavel por Sair do programa.
system("cls");
printf("Obrigado Por Utilizar nosso Software!!!");
exit(1);
break;
default: //Este case fica responsavel por informar ao usuario caso ele escolha uma op??o que nao esteja no Menu.
printf("\nOpcao Invalida");
break;
}
op=1;
}while(op==1);
}
//Esta Rotina ? responsavel pelo cadastro de Clientes
void cadastrocli(){
static int linha; //este ? responsavel por fazer com que toda a vez que entrar na rotina ele continue tendo o valor da linha de onde parou.
do{
printf("\n********************************************************");
printf("\n*********** Cadastro de Clientes ***********************");
printf("\n********************************************************");
printf("\n********************************************************");
printf("\n********************************************************");
codcli[linha]=codcli[linha]+1;
printf("\n\n\n");
printf("\n\n\n");
printf("\n\nDigite o Nome: ");
scanf("%[^\n]s", &nome[linha]);
printf("\nDigite o CPF: ");
scanf("%d", &cpf[linha]);
printf("\nDigite o RG: ");
scanf("%d", &rg[linha]);
printf("\nDigite o Endereco: ");
scanf("%s", &endereco[linha]);
printf("\nDigite a data de Nascimento usando /: ");
scanf("%s", &nasc[linha]);
printf("\nDigite a letra da Habilitacao se tiver mais de 1 usar /: ");
scanf("%s", &hab[linha]);
printf("\nDigite 1 para continuar ou outro valor para sair: ");
scanf("%d", &op);
linha++;
system("cls"); //Este Comando limpa a Tela.
}while(op==1);
}
//Esta Rotina ? responsavel pelo cadastro de Automoveis
void cadastroauto(){
static int linha;
do{
printf("\n********************************************************");
printf("\n************* Cadastro de Automoveis *******************");
printf("\n********************************************************");
printf("\n********************************************************");
printf("\n********************************************************");
codauto[linha]=codauto[linha]+1;
printf("");
printf("\nDigite a Marca: ");
scanf("%s", &marca[linha]);
printf("\nDigite o Modelo: ");
scanf("%s", &modelo[linha]);
printf("\nDigite o Ano e modelo de fabricação separados por /: ");
scanf("%s", &amodfab[linha]);
printf("\nDigite o Codigo de Classificacao: ");
scanf("%d", &codclass[linha]);
printf("\nDigite 1 para continuar ou outro valor para sair: ");
scanf("%d", &op);
linha++;
system("cls");
}while(op==1);
}
//Esta Rotina ? responsavel pelo cadastro de Classifica??o
void cadastroclass(){
static int linha;
do{
printf("\n********************************************************");
printf("\n************* Cadastro de Classificacao ****************");
printf("\n********************************************************");
printf("\n********************************************************");
printf("\n********************************************************");
codcla[linha]=codcla[linha]+1;
printf("");
printf("\nDigite a Descri??o da Classe: ");
scanf("%s", &desc[linha]);
printf("\nDigite o Valor: ");
scanf("%f", &valor[linha]);
printf("\nDigite 1 para continuar ou outro valor para sair: ");
scanf("%d", &op);
linha++;
system("cls");
}while(op==1);
}
gostaria de uma ajuda para este problema, agradeço desde ja o apoio, se tiver algo errado por favor so me falar, sou novo no forum.