Ir para conteúdo
Fórum Script Brasil
  • 0

Não consigo fazer uma struc, estrutura de dados...


Renanzinth

Pergunta

Gente, me tira uma dúvida, fiz uma struct aqui no meu prog, sendo que quando estou dando os valores as variáveis dessa struct, eu nem termino a função que dei ao while e o prog "para de funcionar"

PS: struct montada a partir da linha 14 e ela está sendo usada na case 1.

/* Programa
	Programa: Informações do aluno
	Autor: Renan Thiago de A. Narciso
	Data:13/05/2015
	Descrição:-------
	
	*/
	
	#include <stdio.h>
	#include <locale.h>
	#include <conio.h>
	#include <stdlib.h>
	
	struct dados{
			char materia[30];
			float nota1;
			float nota2;
			float nota3;
		};
		struct dados aluno;
	
	int main(void){
		setlocale(LC_ALL,"Portuguese"); //Selecionando a linguagem do programa para pt-BR
	
	/* Aqui vao as declaracoes das variaveis */
		int a = 0; //Declarando variável para controle de menu.
		
		int na=0, no; //Variáveis da case 1.
		char mat;
		int pe, pa, per; //Variáveis da case 2.
		
		int m=0, n; //Varíaveis da case 3.
	
	/* Aqui vao os comandos do programa */
		
		do{
		printf("\t\t\t********************************\n\n");
		printf("\t\t\t*  MENU PRINCIPAL DO PROGRAMA  *\n\n");
		printf("\t\t\t********************************\n\n");
		printf("1 - Registrador de notas.\n");
		printf("2 - Quantos periodos faltam para conclusão do seu curso.\n");
		printf("3 - Identificador de números pares e ímpares.\n\n");
		printf("4 - Sair.\n\n");
		printf("Informe a opção desejada: ");
		scanf("%d", &a); // Armazena o número digitado.
		system("cls"); // Limpa a tela.
		switch(a){
			case 1: //Opção 1//
			printf("Você entrou na opção Registrador de notas.\n");
			printf("\nDigite a quantidade de matérias: ");
			scanf("%d", &no);
			while(na<no){na++;
			printf("Nome da matéria: ");
			fflush(stdin);
			fgets(aluno.materia, 30, stdin);
			printf("Informe a 1º nota: ");
			scanf("%.2f", &aluno.nota1);
			fflush (stdin);
			printf("Informe a 2º nota: ");
			scanf("%.2f", &aluno.nota2);
			fflush (stdin);
			printf("Informe a 3º nota: ");
			scanf("%.2f", &aluno.nota3);
			fflush (stdin);
			}
			break;
			
			case 2: //Opção 2//
			printf("Você entrou na opção de períodos do curso.\n\n");
			while(1==1){
			printf("Digite a quantidade de períodos do seu curso: ");
			scanf("%d", &pe);
			printf("Em qual período você está: ");
			scanf("%d", &pa);
				if(pa>0){
			per=pe - pa;
			printf("\nFaltam %d perídos para concluir seu curso!", per);
			break;
			}
				else
					printf("Número inválido!\n");
			}
			printf("\n\n\nPressione uma tecla para voltar ao menu principal.");
			getch();
			system("cls");
			break;
			
			case 3: //Opção 3//
			printf("Você entrou na opção de dentificador de números pares e ímpares.\n");
			printf("\nDigite a quantidade de números: ");
			scanf("%d", &n);
			printf("\n");
			while(m<n){m++;
				if(m%2==0){
					printf("Números pares: %2.0d\n", m);
				}
				else{
					printf("Números Ímpares: %2.0d | ", m);
				}
			}
			printf("\n\n\nPressione uma tecla para voltar ao menu principal.");
			getch();
			system("cls");
			break;
			
			default:
				a = 4;
				printf("\t\t\t\n\n\nSaindo do programa...\n\n\n");
		} 
		} while(a != 4); // Enquanto a letra 'a' for diferente de 4, sai do programa.
		
		system("pause");
		return 0;
	}
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...