llg
(usa Arch Linux)
Enviado em 21/07/2010 - 08:57h
Bem, sobre codigo do wdmatheus, em scanf("%s", &name) eu trocaria por fgets (name , 49 , stdin), pois o scanf so pegaria uma string ate o primeiro espaco ou tab e deixaria o resto no buffer, enquanto que o fgets pegaria ate o primeiro \n do buffer e tem a vantagem de poder delimitar um tamanho, o que e uma vantagem sobre o gets(), fazendo assim que evitasse qualquer bug quando o usuario tentar colocar uma string maior que char name[50]. Eu tambem colocaria um case no switch, para quando estivesse saindo nao aparecesse uma mensagem dizendo que era opcao invalida!!!
Prototipo:
char * fgets ( char * str, int num, FILE * stream );
#include <stdio.h>
#include <stdlib.h>
int main()
{
char name[50];
int op = 0;
while(op !=3){
printf("\nLISTA DE MENU\n 1.CADASTRAR FUNCIONARIO\n 2.LER FUNCIONARIO CADASTRADO\n 3.SAIR");
printf("\n");
printf("Digite a sua escolha = ");
scanf("%d", &op);
switch(op){
case 1:
printf("Digite o nome do funcionario = ");
fgets (name , 49 , stdin);
break;
case 2:
printf("Nomes guardados são = %s", name);
break;
case 3:
printf("Saindo ...");
break;
default:
printf("Opção inválida!");
break;
}
}
return 0;
}
Atenciosamente, Lucas Lira Gomes