Logo Hardware.com.br
lokito236
lokito236 Novo Membro Registrado
3 Mensagens 0 Curtidas

Quero fazer esse programa funcionar!!!

#1 Por lokito236 07/10/2015 - 23:47
Gente quero fazer esse programa funcionar mais n consigo descobrir os erros!!! ME AJUDEM PF!!!!

[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]

using namespace std;
[HASHTAG]#define[/HASHTAG] max 15 //TAMANHO MAXIMO DA LISTA
typedef struct dados { char nome[40];
char cpf[12];
int cod[3];
int idade[3];
int nmrfilhos[5];
}tdado;

typedef struct fila {
tdado vetFila [max];
int inicio, final, qtd, k;
}tfila;

void inicializa(tfila *f){
f->inicio=0;
f->final=-1;
f->qtd=0;
f->k=0;
}
int isFull (tfila *f){
if (f->qtd==max-1)
return 1;
else
return 0;
}

int isEmpty(tfila *f){
if(f->qtd==0)
return 1;
else
return 0;
}
int enqueue(tfila *f, tdado valor){
if (isFull(f))
return 0;
else {
if(f->final== max -1)
f->final=0;
else{
f->final++;
f->vetFila[f->final] = valor;
f ->qtd++;
return 1;
}
}
}
//______________
//mostrar todos os itens da lista
void printFila(tfila f){
tdado anterior;
if (f.qtd==0)
cout<<"Fila Vazia!";
else
fflush(stdin);
while(f.inicio<=f.final){
anterior = f.vetFila[f.inicio];
cout<<"\nNome: %s", anterior.nome;
cout<<"\nCPF: %s",anterior.cpf;
cout<<"\nCodigo %d", anterior.cod;
cout<<"\nIdade %d", anterior.idade;
cout<<"\nNnmr De Filhos %d",anterior.nmrfilhos;
cout<<"\n";
f.inicio++;
}//fim while
}
int dequeue(tfila *f, tdado *v){
if(isEmpty(f)==1)
return 0;
else{
*v=f->vetFila[f->inicio];
f->inicio++;
return 1;
}
}
int menu (){
int opc;

cout<<"1- Inserir novo nó. \n";
cout<<"2- Atender um nó. \n";
cout<<"3- Verificar proximo nó. \n";
cout<<"4- Imprimir todos os nó aguardando. \n";
cout<<"5- Verificar a posicao de K. \n";
cout<<"0-Sair\n";

scanf ("%d",&opc);
return opc;
}



int main (){
tfila fdados;
tdado valor, primeiro, paciente;
char cpfbuscado[12];
int op, busca,i; //opcao
inicializa (&fdados);
do {
cout<<"\t\t*** Fila linear sequencial ***\n\n";
cout<<"Escolha uma opcao:\n\n";
op=menu();
switch (op){
case 1: cout<<"Digite os seguintes dados do nó: \n - Nome: \n - CPF: \n - Cod: - \n Idade: \n - Nmrfilhos: \n";
fflush (stdin);
gets(paciente.nome); //recebo string
gets(paciente.cpf);
scanf ("%d", &paciente.cod); //aki eu recebo idade
scanf ("%d", &paciente.idade);
scanf ("%d", &paciente.nmrfilhos);

if (enqueue(&fdados, valor)==1)
cout<<"Novo nó cadastro com sucesso.\n";
else
cout<<"Não ha mais vagas na fila !!! (overflow)\n";
break;
case 2: if (dequeue(&fdados, &valor)==0 //atende paciente
cout<<"Nenhum nó cadastrado:" ;
else{
cout<<"Nó atendido.";
}
break;
case 3: if (isEmpty(&fdados))
cout<<"Não ha nó para serem atendidos. \n";
else{
primeiro=fdados.vetFila[fdados.inicio];
cout<<"%s",primeiro.nome;
}
break;
case 4: printFila(fdados);
break;
case 5: cout<<"Dgt um numero de CPF para efetuar a busca da sua posicao na fila\n";
fflush(stdin);
gets(cpfbuscado);
if (dequeue(&fdados, svalor)==0)
cout<<"Nenhum nó cadastrado: (underflow)";
else{
for(i=fdados.inicio, i<=fdados.final, i++){
dados = fdadodos.vetFila;
if(strcmp(dados.cpf , cpfbuscado)==0){
cout<<"Nó encontrado na posicao: %d", i+1;
}
else
cout<<"Não ha nó com este CPF.";
}//fim for
}
break;
case 0: cout<<"Voce esta saindo do programa.....\n - aperte qualquer tecla para sair.";
break;
default: cout<<"\nOpcao invalida.";
break;
} // fim switch op
getch();
system ("cls");
}while(op!=0);
} //fim main



OS ERROS SÃO:

In function `int main()':
expected `)' before "cout"
svalor' undeclared (first use this function)
`;' before ')' token
lokito236
lokito236 Novo Membro Registrado
3 Mensagens 0 Curtidas
#2 Por lokito236
07/10/2015 - 23:51
Gente preciso implementar esse algoritmo com os seguintes itens:
Itens para implementar:

Inserir nó no final
Imprimir a lista
Imprimir os nós com idade par
Procurar o nó com maior número de filhos e remover
Procurar um nó e alterar o conteudo
Remover nó na posição K
Alguem poderia ajuda porfavor Whats qualquer coisa (18) 996442597

//LISTA LINEAR SEQUENCIAL
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
using namespace std;
[HASHTAG]#define[/HASHTAG] n 10 //TAMANHO MAXIMO DA LISTA
struct dados { char nome;
int cod;
int idade;
char cidade;
int nmrfilhos;
};
dados x[n];
dados val;
int final;
char conf;

void insereFim();
void imprimir();

int main(){
final=-1; //LISTA VAZIA
char op='X';
while (op!='S'){
system("cls"); //LIMPA A TELA
cout<<"\tLISTA LINEAR SEQUENCIAL\n\n";
cout<<"\t\tOpcoes:\n\n";
cout<<"\t\t\t1-INSERIR NO FINAL\n\n";
//COLOCAR AS OUTRAS OPCOES AQUI...
cout<<"\t\t\t9-IMPRIMIR A LISTA\n\n";
cout<<"\t\t\tS-SAIR\n\n";
cout<<"\t\tEscolha a opcao: ";
op=toupper(getche());
switch(op){
case '1':{ //INSERIR NO FINAL
insereFim();
break;
} //FIM CASE 1
case '2':{ //INSERIR NO INICIO
break;
} //FIM CASE 2
case '9':{ //IMPRIMIR
imprimir();
break;
} //FIM CASE 9
case 'S':{ //SAIR
system("cls");
cout<<"Tchau...";
getch();
break;
}
default: {
cout<<" - OPCAO INVALIDA!!!";
cout<<"\n\nTecle algo para continuar";
getch();
break;
}
} //FIM DO SWITCH
} //FIM DO WHILE
} //FIM DO MAIN
void insereFim(){
system("cls");
cout<<"\tINSERIR NO FINAL\n\n";
if (final < n-1){ //TEM ESPAÇO NA LISTA
cout<<"\tInforme o codigo: ";
cin>>x[n].cod;
cout<<"\tInforme o nome: ";
cin>>x[n].nome;
cout<<"\tDigite a idade: ";
cin>>x[n].idade;
cout<<"\tInforme o cidade: ";
cin>>x[n].cidade;
cout<<"\tDigite a nmrfilhos: ";
cin>>x[n].nmrfilhos;
cout<<"\n\tConfirma (S/N) ? ";
conf=toupper(getche());
if (conf=='S'){
final++;
x[final] = val;
cout<<"\n\n\tINFORMACOES INSERIDAS!";
} else {
cout<<"\n\n\tDADOS NAO CONFIRMADOS!";
}
} else { //LISTA CHEIA
cout<<"\n\n\tLISTA CHEIA!!!";
}
cout<<"\n\n\tTecle algo para continuar...";
getch();
} //FIM INSEREFIM
void imprimir(){
int i=0;
system("cls");
cout<<"\tIMPRESSAO DA LISTA\n\n";
if(final != -1) {
for(i=0; i<=final; i++){
val=x;
cout<<"\tCodigo: "< cout<<"\n\tInfo: "< }
} else {
cout<<"\tLISTA VAZIA!!!\n\n";
}
cout<<"\tTecla algo para continuar...";
getch();
} //FIM IMPRIMIR
lokito236
lokito236 Novo Membro Registrado
3 Mensagens 0 Curtidas
#4 Por lokito236
09/10/2015 - 14:34
Cara primeiramente valeu já ajudou muito!!! Mas ainda tá acontecendo algum pequeno problema veja:
</strong>
[HASHTAG]#include[/HASHTAG] <iostream>
[HASHTAG]#include[/HASHTAG] <conio.h>
[HASHTAG]#include[/HASHTAG] <stdio.h>
[HASHTAG]#include[/HASHTAG] <string.h>

using namespace std;
[HASHTAG]#define[/HASHTAG] max 15 //TAMANHO MAXIMO DA LISTA
typedef struct dados { char nome[40];
char cpf[12];
int cod[3];
int idade[3];
int nmrfilhos[5];
}tdado;

typedef struct fila {
tdado vetFila [max];
int inicio, final,qtd, k;
}tfila;

void inicializa(tfila *f){
f->inicio=0;
f->final=-1;
f->qtd=0;
f->k=0;
}
int isFull (tfila *f){
if (f->qtd==max-1)
return 1;
else
return 0;
}

int isEmpty(tfila *f){
if(f->qtd==0)
return 1;
else
return 0;
}
int enqueue(tfila *f, tdado valor){
if (isFull(f))
return 0;
else {
if(f->final== max -1)
f->final=0;
else{
f->final++;
f->vetFila[f->final] = valor;
f ->qtd++;
return 1;
}
}
}
//______________
//mostrar todos os itens da lista
void printFila(tfila f){
tdado anterior;
if (f.qtd==0)
cout<<"Fila Vazia!";
else
fflush(stdin);
while(f.inicio<=f.final){
anterior = f.vetFila[f.inicio];
cout<<"\nNome: %s", anterior.nome;
cout<<"\nCPF: %s",anterior.cpf;
cout<<"\nCodigo %d", anterior.cod;
cout<<"\nIdade %d", anterior.idade;
cout<<"\nNnmr De Filhos %d",anterior.nmrfilhos;
cout<<"\n";
f.inicio++;
}//fim while
}
int dequeue(tfila *f, tdado *v){
if(isEmpty(f)==1)
return 0;
else{
*v=f->vetFila[f->inicio];
f->inicio++;
return 1;
}
}
int menu (){
int opc;

cout<<"1- Inserir novo nó. \n";
cout<<"2- Atender um nó. \n";
cout<<"3- Verificar proximo nó. \n";
cout<<"4- Imprimir todos os nó aguardando. \n";
cout<<"5- Verificar a posicao de K. \n";
cout<<"0-Sair\n";

scanf ("%d",&opc);
return opc;
}



int main (){
tfila fdados;
tdado valor, primeiro, paciente;
char cpfbuscado[12];
int op, busca,i; //opcao
inicializa (&fdados);
do {
cout<<"\t\t*** Fila linear sequencial ***\n\n";
cout<<"Escolha uma opcao:\n\n";
op=menu();
switch (op){
case 1: cout<<"Digite os seguintes dados do nó: \n - Nome: \n - CPF: \n - Cod: - \n Idade: \n - Nmrfilhos: \n";
fflush (stdin);
gets(paciente.nome); //recebo string
gets(paciente.cpf);
scanf ("%d", &paciente.cod); //aki eu recebo idade
scanf ("%d", &paciente.idade);
scanf ("%d", &paciente.nmrfilhos);

if (enqueue(&fdados, valor)==1)
cout<<"Novo nó cadastro com sucesso.\n";
else
cout<<"Não ha mais vagas na fila !!! (overflow)\n";
break;
case 2: if (dequeue(&fdados, &valor)==0) //atende paciente
cout<<"Nenhum nó cadastrado:" ;
else{
cout<<"Nó atendido.";
}
break;
case 3: if (isEmpty(&fdados))
cout<<"Não ha nó para serem atendidos. \n";
else{
primeiro=fdados.vetFila[fdados.inicio];
cout<<"%s",primeiro.nome;
}
break;
case 4: printFila(fdados);
break;
case 5: cout<<"Dgt um numero de CPF para efetuar a busca da sua posicao na fila\n";
fflush(stdin);
gets(cpfbuscado);
if (dequeue(&fdados, &valor)==0)
cout<<"Nenhum nó cadastrado: (underflow)";
else{
for(i=fdados.inicio; i<=fdados.final; i++){ OS ERRO ESTAO APONTANDO POR AKI!!!!
dados = fdados.vetFila<em>; OS ERRO ESTAO APONTANDO POR AKI!!!!
if(strcmp(dados.cpf , cpfbuscado)==0){ OS ERRO ESTAO APONTANDO POR AKI!!!!
cout<<"Nó encontrado na posicao: %d", i+1;
}
else
cout<<"Não ha nó com este CPF.";
}//fim for
}
break;
case 0: cout<<"Voce esta saindo do programa.....\n - aperte qualquer tecla para sair.";
break;
default: cout<<"\nOpcao invalida.";
break;
} // fim switch op
getch();
system ("cls&quot;
}while(op!=0);
} //fim main

In function `int main()':
xpected primary-expression before '=' token
expected primary-expression before '.' token
[/B]
Pirituba
Pirituba Super Participante Registrado
355 Mensagens 91 Curtidas
#7 Por Pirituba
12/10/2015 - 17:08
Blz, bom cara eu não sei se o resto esta funcionando, mas por hora
tdado valor, primeiro, paciente, dados; //faltou declarar esse dados que vc esta usando no for

e

#include <stdlib.h>

system ("cls&quot; //faltou dar include na stdlib.h pra usar system


Agora esta compilando e rodando, mas o restante esta ok?
Só testando, vai que é tua.... dúvidas pergunta aeh... abraço

Algumas observações, depois se vc voltar por aqui, continuo olhando

#define MAX 15 //TAMANHO MAXIMO DA LISTA

typedef struct dados { char nome[40];
char cpf[12];
int cod[3]; // vc quer um vetor de três códigos, três idades e 5 nmrfilhos
int idade[3]; // acho que não
int nmrfilhos[5];
}tdado;
//fica mais legivel
typedef struct dados {
char nome[40];
char cpf[12];
int codigo;
int idade;
int nro_filhos;
} T_dados;

typedef struct fila {
tdado vetFila [max]; //constantes por default são ulizadas em letras maisculas
int inicio, final,qtd, k; // palavra final é reservada, mude para ultimo
}tfila;
//fica mais legivel
typedef struct fila {
T_dados vetFila[MAX];
int inicio;
int ultimo;
int quantidade;
int k_esimo;
} T_fila;
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal