Ir ao conteúdo
  • Cadastre-se

C++ Como imprimir nomes cadastrados em uma matriz em txt


farfzim0

Posts recomendados

Estou com uma pequena dificuldade para imprimir os dados cadastrados no programa 

 

 pfv me ajudem

 

 

#include<stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#define SIZE 200

char nome [SIZE] [50];
char materia[SIZE] [50];
char curso[SIZE] [50];
int op;
void cadastro();

int main (void) {
	system("color 1F");
	cadastro();
}
void cadastro(){
	static int linha;
	do{
		printf("\nDigite o Nome");
		scanf("%s", &nome[linha]);
		printf("\nDigite a materia");
		scanf("%s", &materia[linha]);
		printf("\nDigite o curso");
		scanf("%S", &curso[linha]);
		printf("\ndigite 1 para continuar ou 2 para sair");
		scanf("%d", &op);
		linha++;
	}while(op==1);
	

	
	system("pause");
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@farfzim0      além do que já foi comentado ,  a matriz de char precisa ter a quantidade de linhas e a quantidade de colunas e a quantidade de caracteres de cada palavra da matriz , pois se não colocar esse terceiro colchete ela será uma matriz de char com apenas hum caractere  em cada posição da matriz ,  então seu código com algumas modificações poderia ser assim    :

#include <stdio.h>        /* biblioteca da linguagem c , em c++ não precisa dela        */
#include <conio.h>        /* para usar o comando getch()                                */
#include <cstdlib>        /* se é c++ então essa é a biblioteca                         */
#include <iostream>       /* essa blilioteca é do c++ mesmo                             */
#include <fstream>        /* essa blilioteca é do c++ mesmo                             */
#define SIZE 20           /* para testar usar pouca memória                             */
#define pausar for(f=0;f<50000000;f++);/* definir huma pausa                            */

char nome   [SIZE][5][20];/* 1º é a linha 2º é a coluna 3º é a quantidade de caracteres */
char materia[SIZE][5][20];/* 1º é a linha 2º é a coluna 3º é a quantidade de caracteres */
char curso  [SIZE][5][20];/* 1º é a linha 2º é a coluna 3º é a quantidade de caracteres */
int op,j,f,linha;         /* variáveis globais aqui antes da main são inicializadas com */
                          /* valor zero e podem ser acessadas em qq parte do programa   */
void cadastro();          /* protótipo da função , para ser inserida depois da main     */

int main(){
	system("color 1F");   /* 1º cor do fundo da tela  2º cor das letras             */
	cadastro();           /* chama a função para cadastrar                          */
	printf("\nConte%cdo Das Matrizes :\n\n",163);     /* pula para a linha de baixo */
	for(j=0;j<linha;j++){ /* imprime a qtd de cadastros especifi pelo contador linha*/
        printf("Nome ----> %s\n"  ,    nome   [j][0]);/* a linha e a coluna da matriz   */
        printf("Mat%cria -> %s\n" ,130,materia[j][0]);/* a linha e a coluna da matriz   */
        printf("Curso ---> %s\n\n",    curso  [j][0]);/* a linha e a coluna da matriz   */
    }
    printf("\n   Tecle . . .  !\n\n");
    while( ! kbhit() ){                  /* huma animação                               */
        printf("      | \r"   );pausar;
        printf("      / \r"   );pausar;
        printf("      - \r"   );pausar;
        printf("      %c\r",92);pausar;
    }
    return 0;
}
void cadastro(){                         /* a função                                    */
    do{                                  /* repetir                                     */
        printf("Digite o Nome ");
        scanf("%s",nome[linha][0]);      /* a letra que especifica o tipo em minúsculo  */
        printf("Digite a Mat%cria ",130);/* e como é string não precisa do  &           */
        scanf("%s",materia[linha][0]);   /* a letra que especifica o tipo em minúsculo  */
        printf("Digite o Curso ");       /* e como é string não precisa do  &           */
        scanf("%s",curso[linha][0]);     /* a letra que especifica o tipo em minúsculo  */
		                         /* e como é string não precisa do  &           */
        printf("\n     digite\n 1 para continuar\n 2 para sair ");
        op = getch()-48;                 /* como é número precisa do  &                 */
        linha++;                         /* incrementa o contador em uma unidade        */
        printf("\n\n");                  /* pula para a linha de baixo                  */
    }while( op == 1 );                   /* enquanto for igual a hum                    */
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!