Preciso fazer um programa o qual precisa fazer algumas listagens. Sou nova em programação e estou em duvidas como fazer a exibição desses dados. para poder listar,
Regras
O código do cadastro é sequencial, o sistema incrementa sozinho
no maximo 4 cadastros
Ao cadastrar o item no campo status deve ser armazenado 1,2,3 - 1 representa -A fazer, 2 -Fazendo e 3 -Concluído.
Os dados não serão armazenados em arquivos , após encerrado eles serão apagados
A minha duvida principal é como listar os dados a fazer, fazendo e concluido.
Se alguém puder me auxiliar eu agradeço;
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h> // UTILIDADE = COPIAR UMA STRING EM OUTRA
#include <conio.h> //UTILIDADE = MUDANCA DE COR
#define MAX 4
typedef struct {
int codigo;
char titulo[20];
char descricao[30];
int ano;
char status[10];
int ativo;
int codst;
char responsavel[30];
}ProjetoDados;
ProjetoDados projeto[MAX];/*Maximo de projetos cadastrados*/
system("cls");
printf(" %c----------------------------------------------------------------------------%c\n",201,187);
printf(" | ");printf("\t\t\t CADASTRO DE PROJETOS");printf("\t\t\t |\n");
printf(" %c----------------------------------------------------------------------------%c\n",200,188);
printf(" %c----------------------------------------------------------------------------%c\n",201,187);
printf(" | ");printf("\t\t\t ***** MENU *****");printf("\t\t\t |\n");
printf(" %c----------------------------------------------------------------------------%c\n",200,188);
printf(" %c----------------------------------------------------------------------------%c \n",201,187);
printf(" | <1> Cadastro de Projeto |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <2> Listar Todos os projetos |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <3> Listar projetos em andamento(fazendo) |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <4> Listar projetos a fazer |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <5> Listar projetos Concluidos |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <6> Pesquisar |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <7> Remover |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <0> Sair |\n");
printf(" %c----------------------------------------------------------------------------%c",200,188);
printf("\n\n\n\n");
scanf("%d", &op);/*&op -ponteiro - endereço de memoria*/
fflush(stdin);
getchar();
switch(op){
case 1:
cadastrar();
break;
case 2:
listar();
break;
case 3:
andamento();
break;
case 4:
afazer();
break;
case 5:
concluido();
break;
case 6:
pesquisar();
break;
case 7:
remover();
break;
}
getchar();
}while(op!=0);
}
void cadastrar(){
int op, i;
int totalfazer=0, totalFazendo=0, totalConcluido=0;
int totalProjeto=0;
int codst;
char opst;
do{
system("cls");/*limpa a tela*/
printf(" %c----------------------------------------------------------------------------%c \n",201,187);
printf(" | Cadastro de Projeto |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf("\nDefina o status do projeto:");
printf("\n1- A fazer");
printf("\n2- Fazendo");
printf("\n3-Concluido\n");
opst=getch();
switch(opst){
case '1':
projeto[totalProjeto].codst=1;
strcpy(projeto[totalProjeto].status, "A fazer");
totalfazer+=1;
break;
case '2':
projeto[totalProjeto].codst=2;
strcpy(projeto[totalProjeto].status, "Fazendo");
totalFazendo+=1;
break;
Pergunta
Aeviles Aguiar Silva
Preciso fazer um programa o qual precisa fazer algumas listagens. Sou nova em programação e estou em duvidas como fazer a exibição desses dados. para poder listar,
Regras
O código do cadastro é sequencial, o sistema incrementa sozinho
no maximo 4 cadastros
Ao cadastrar o item no campo status deve ser armazenado 1,2,3 - 1 representa -A fazer, 2 -Fazendo e 3 -Concluído.
Os dados não serão armazenados em arquivos , após encerrado eles serão apagados
A minha duvida principal é como listar os dados a fazer, fazendo e concluido.
Se alguém puder me auxiliar eu agradeço;
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h> // UTILIDADE = COPIAR UMA STRING EM OUTRA
#include <conio.h> //UTILIDADE = MUDANCA DE COR
#define MAX 4
typedef struct {
int codigo;
char titulo[20];
char descricao[30];
int ano;
char status[10];
int ativo;
int codst;
char responsavel[30];
}ProjetoDados;
ProjetoDados projeto[MAX];/*Maximo de projetos cadastrados*/
/*Protótipo da função*/
void menu();
void cadastrar();
void listar();
void andamento();
void afazer();
void concluido();
void pesquisar();
void remover();
int main(int argc, char *argv[]) {
setlocale(LC_ALL, "Portuguese");
system("color 03"); //Testando cor
menu();
return 0;
}
/*Function Menu*/
void menu(){
int op;
do{
system("cls");
printf(" %c----------------------------------------------------------------------------%c\n",201,187);
printf(" | ");printf("\t\t\t CADASTRO DE PROJETOS");printf("\t\t\t |\n");
printf(" %c----------------------------------------------------------------------------%c\n",200,188);
printf(" %c----------------------------------------------------------------------------%c\n",201,187);
printf(" | ");printf("\t\t\t ***** MENU *****");printf("\t\t\t |\n");
printf(" %c----------------------------------------------------------------------------%c\n",200,188);
printf(" %c----------------------------------------------------------------------------%c \n",201,187);
printf(" | <1> Cadastro de Projeto |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <2> Listar Todos os projetos |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <3> Listar projetos em andamento(fazendo) |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <4> Listar projetos a fazer |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <5> Listar projetos Concluidos |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <6> Pesquisar |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <7> Remover |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf(" | <0> Sair |\n");
printf(" %c----------------------------------------------------------------------------%c",200,188);
printf("\n\n\n\n");
scanf("%d", &op);/*&op -ponteiro - endereço de memoria*/
fflush(stdin);
getchar();
switch(op){
case 1:
cadastrar();
break;
case 2:
listar();
break;
case 3:
andamento();
break;
case 4:
afazer();
break;
case 5:
concluido();
break;
case 6:
pesquisar();
break;
case 7:
remover();
break;
}
getchar();
}while(op!=0);
}
void cadastrar(){
int op, i;
int totalfazer=0, totalFazendo=0, totalConcluido=0;
int totalProjeto=0;
int codst;
char opst;
do{
system("cls");/*limpa a tela*/
printf(" %c----------------------------------------------------------------------------%c \n",201,187);
printf(" | Cadastro de Projeto |\n");
printf(" |----------------------------------------------------------------------------|\n");
printf("\nCodigo: %d\n",i+1);
printf("\nTitulo:");;
gets(projeto[i].titulo);
fflush(stdin);
printf("\nDescricao:");
gets(projeto[i].descricao);
fflush(stdin);
printf("\nAno:");
scanf("%d",&projeto[i].ano);
fflush(stdin);
printf("\nResponsavel:");
gets(projeto[i].responsavel);
fflush(stdin);
printf("\nDefina o status do projeto:");
printf("\n1- A fazer");
printf("\n2- Fazendo");
printf("\n3-Concluido\n");
opst=getch();
switch(opst){
case '1':
projeto[totalProjeto].codst=1;
strcpy(projeto[totalProjeto].status, "A fazer");
totalfazer+=1;
break;
case '2':
projeto[totalProjeto].codst=2;
strcpy(projeto[totalProjeto].status, "Fazendo");
totalFazendo+=1;
break;
case '3':
projeto[totalProjeto].codst=3;
strcpy(projeto[totalProjeto].status, "Concluido");
totalConcluido+=1;
break;
default:
printf("Opcao Invalida\n");
strcpy(projeto[totalProjeto].status,"não cadastrado");
getch();
}
printf("\n\n");
/**/
/*Armazenar no vetor*/
for(i=0; i< MAX; ++i)
{
if(projeto[i].ativo==0){
projeto[i].codigo=i+1;
strcpy(projeto[i].titulo,"titulo");
strcpy(projeto[i].descricao,"descricao");
projeto[i].ano;
strcpy(projeto[i].responsavel,"responsavel");
strcpy(projeto[i].status,"opst");
projeto[i].ativo=1;
break; /*tenho que colocar o break senão ele vai ficar imprimindo sem parar */
}
}
printf("\n1- Continuar \n0-Sair");
scanf("%d",&op);
fflush(stdin);
getchar();
}while(op!=0);
}
void listar(){
system("cls");/*limpar tela*/
int i;
printf(" |----------------------------------------------------------------------------|\n");
printf(" | Listar Todos os projetos |\n");
printf(" |----------------------------------------------------------------------------|\n");
for (i=0; i< MAX; ++i){
if(projeto[i].ativo==1){
printf("-----------------\n");
/*Armazenar os dados*/
printf("Codigo: %d\n",i+1);
printf("Titulo: %s\n",projeto[i].titulo);
printf("Descricao: %s\n",projeto[i].descricao);
printf("Ano: %d \n",projeto[i].ano);
printf("Responsavel: %s\n",projeto[i].responsavel);
printf("Status: %s", projeto[i].status);
printf("-----------------");
}
}
}
void andamento(){
}
void afazer(){
}
void concluido(){
}
void pesquisar(){
}
void remover(){
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.