Mpixell
-
Posts
7 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Mpixell
-
-
eu estou a usar Dev c++
adicionado 2 minutos depoisMuito obrigado, já está a funcionar
- 1
-
@devair1010 Este comando
11 minutos atrás, devair1010 disse:gets(nome_P);/* gets() pega a frase toda */
esta a dar-me o seguinte erro
[Error] cannot convert 'char (*)[20]' to 'char*' for argument '1' to 'char* gets(char*)'
- 1
-
Eu estava sem tempo e não pensei bem no que estava a fazer quando coloquei o código todo,peço desculpas.
Agora que tive mais tempo modifiquei o post apenas com a parte que ainda dá erro
- 2
-
Eu estou a tentar fazer um programa que peça 5 nomes, e os armazene num vetor.
Depois o programa deverá pedir para o utilizador introduzir um nome para ver se esse nome está no vetor, mas não estou a conseguir.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"Portuguese");
int i;
int encontrado=0;
char nomes[5][20];
char nome_P[1][20];
for(i=0;i<5;i++)
{
printf("Insira o %dº Nome: ",i+1);
scanf("%s",&nomes);
}
printf("Pesquisar\n\n");
printf("Insira no mome que deseja procurar: ");
scanf("%s",&nome_P);
while (i < 5 && encontrado==0)
{
if (nomes == nome_P)
{
encontrado = 1;
}
else
{
i++;
}
}
if (encontrado==1)
{
printf ("Nome encontrado\n");
}
else
{
printf ("Nome não encontrado\n");
}
}gostaria que alguem me pudesse ajudar com isto. obrigado
- 1
-
@devair1010 Obrigado pela ajuda
Eu usei o comando
44 minutos atrás, devair1010 disse:return main();
Porque um colega meu me disse para o usar, e o programa não estava a dar erro.
Mais uma vez, obrigado pela ajuda
- 1
-
Boa tarde,
estou com um problema ao criar um programa que deve ter um menu e ao seleccionar a opção abrir sub menus,em que o menu inicial tem 3 opções de entrada e uma para fechar o programa, ao entrar seleccionar a primeira opção(eu estou a trabalhar sub menu por submenu).
No primeiro sub menu existem varias opções e eu estou a ter problemas na primeira, a primeira opção é para introduzir varias idades e salva-las num vetor,após isso deve voltar para o menu inicial.
Voltando á opção Idades, a segunda opção é para listar as idades introduzidas mas não lista as idades que o utilizador introduziu.
E código que fiz é o seguinte:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
#include <unistd.h>
#include <math.h>
int main(void)
{
setlocale(LC_ALL,"portuguese");
int idades[5]={0,0,0,0,0};
int idades_o[5];
int opcao,i,j,a,cont,local;
printf("1. Idades\n2. Nomes\n3. Notas\n0. Fechar\n");
scanf("%d",&opcao);
system("cls");
if(opcao==1)//opção 1 do menu inicial
{
printf("1. Inserir idade\n2. Listar\n3. Pesquisar\n4. Ordenar\n5. Eliminar\n6. Estatística\n0. Regressar ao menu\n");
/*for(i=0;i<5;i++)//confirmar o problema
{
printf("%d\n",idades);
}*/
scanf("%d",&opcao);
system("cls");
if(opcao==1)//opção 1 do submenu
{
for(i=0;i<5;i++)
{
printf("\nInsira as idades:");
scanf("%d",&idades);
//printf("%d",idades); //confirmar o erro
}
system("cls");
sleep(0);
return main();
}
if(opcao==2)//opção 2 do submenu,
{
for(i=0;i<5;i++)
{
printf("%d\n",idades);
}
sleep(0);
return main();
}
if(opcao==3)//opção 3 do submenu
{
//incompleto
}
if(opcao==4)
{
//incompleto
}
if(opcao==6)//opção 6 do submenu
{
printf("1. Numero de idades\n4. Idade maior\n5. Idade menor\n6. Média das idades\n0. Regressar ao menu\n");
scanf("%d",&opcao);
if (opcao==0)
{
sleep(0);
return main();
}
}
if(opcao==0) //opção 0 do submenu
{
sleep(0);
return main();
}
}
}Eu gostaria que alguém me pudesse ajudar a descobrir o que estou a fazer de mal, muito obrigado.
- 1
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
Ordenar nomes com o comando strcpy
em C/C#/C++
Postado
Boa tarde,estou a fazer um exercício em que preciso de ordenar apenas os nomes do seguinte programa:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<locale.h>
#include<string.h>
#include<unistd.h>
int j,i,Q=2;
typedef struct agenda{
char Nome [20];
char Email[40];
char observacoes[500];
typedef struct endereco{
char Rua[20];
int Numero;
char Complemento[20];
char Bairro[20];
char Cep[20];
char Cidade[20];
char Estado[20];
char Pais[20];
};
struct endereco Endereco;
typedef struct telefone{
char DDD[10];
char NumeroTelefone[9];
};
struct telefone Telefone;
typedef struct aniversario{
int Dia;
int Mes;
int Anos;
};
struct aniversario Aniversario;
};
struct agenda Agenda[100];
void Inserir()
{
char sair;
do{
for(i=0;i<Q;i++)
{
printf("Quandos dados quer introduzir:");
scanf("%d",&Q);
system("CLS");
printf("Dados da %d pessoa:\n",i+1);
printf("\tNome:");
fflush(stdin);
gets(Agenda.Nome);
printf("\tEmail:");
fflush(stdin);
gets(Agenda.Email);
printf("\tEndereço:\n");
printf("\t\tRua:");
fflush(stdin);
gets(Agenda.Endereco.Rua);
printf("\t\tNúmero:");
scanf("%d",&Agenda.Endereco.Numero);
printf("\t\tComplemento:");
fflush(stdin);
gets(Agenda.Endereco.Complemento);
printf("\t\tBairro:");
fflush(stdin);
gets(Agenda.Endereco.Bairro);
printf("\t\tCep:");
fflush(stdin);
gets(Agenda.Endereco.Cep);
printf("\t\tCidade:");
fflush(stdin);
gets(Agenda.Endereco.Cidade);
printf("\t\tEstado:");
fflush(stdin);
gets(Agenda.Endereco.Estado);
printf("\t\tPais:");
fflush(stdin);
gets(Agenda.Endereco.Pais);
printf("\tTelefone:\n");
printf("\t\tDDD:");
fflush(stdin);
gets(Agenda.Telefone.DDD);
printf("\t\tNumeto de Telefone:");
fflush(stdin);
gets(Agenda.Telefone.NumeroTelefone);
printf("\tAniversario:\n");
printf("\t\tDia:");
scanf("%d",&Agenda.Aniversario.Dia);
printf("\t\tMês:");
scanf("%d",&Agenda.Aniversario.Mes);
printf("\t\tAnos:");
scanf("%d",&Agenda.Aniversario.Anos);
printf("Observações:");
fflush(stdin);
gets(Agenda.observacoes);
}
printf("\nPressione 0 para sair");
sair=getch();
}while(sair!='0');
system("cls");
}
void Ordenar()
{
int p;
char NomeO[100][20];
char sair,aux;
do{
for(i=0;i<Q;i++)
{
for(j=0;j<20;j++)
{
NomeO[j]=NomeO[j];
}
}
for(i=0; i<Q; i++)
{
for(p=0; p<Q; p++)
{
if(strcmp(NomeO,NomeO)<0)
{
for(j=0;j<20;j++)
{
strcpy(aux,NomeO[j]);
strcpy(NomeO[j],NomeO[p][j]);
strcpy(NomeO[p][j],aux);
}
}
}
}
printf("Nomes ordenados:\n");
for(i=0; i<Q; i++)
{
for(j=0;j<20;j++)
{
printf("%c",NomeO[j]);
}
printf("\n");
}
printf("\nPressione 0 para sair");
sair=getch();
}while(sair!='0');
system("cls");
}
int main()
{
setlocale(LC_ALL,"");
int op;
do{
printf("1.Inserir\n2.Ordenar\n");
printf("Opção:");
scanf("%d",&op);
else if(op==1)
{
system("CLS");
Inserir();
}
else if(op==2)
{
system("CLS");
Ordenar();
}
}while(op!=0);
}
mas estou a ter uns problemas com o comando strcpy e não sei porque, se alguém me puder ajudar agradeço.