-
Posts
19 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Paula_Fabiana
-
-
@devair1010 Devair muitíssimo obrigada, funcionou, era isso mesmo
adicionado 1 minuto depois@vangodp Ok, obrigada
- 2
-
Então sou nova nisso, mas preciso saber como contar uma palavra quantas vezes aparece no texto e sua linha, esta p
#include <stdio.h> #include<string.h> int main() { int contador = 0; char palavra[1000][900]; FILE *f = fopen("arquivo.txt", "r"); while (fscanf(f, "%s", palavra[contador]) > 0) { if (strcmp(palavra[contador], "como") == 0) { printf("%s", palavra[contador]); printf("\n"); break; } else contador++; } return 0; }
ensando em usar um while, mas nao sei como implementar
- 1
-
@Simon Viegas Olá, meu professor fez, ficou assim
/* * Agenda Telefônica usando Lista Simplesmente Encadeada */ #include <locale.h> #include <stdio.h> #include <stdlib.h> // nome do arquivo onde programa irá salvar os dados da lista telefônica #define NOME_ARQUIVO "ListaTelefonica.txt" // estrutura que irá armazenar os dados de um contato typedef struct strContato { char nome[80]; char fone[15]; struct strContato *prox; // apontador para próximo elemento da lista }Contato; // Protótipos das funções locais void LerArquivo(void); void GravarArquivo(void); void Inserir(void); void Alterar(void); void Eliminar(void); void Pesquisar(void); void ListarTodos(void); char* ProcuraSubstring(char *, char *); void DestroiLista(void); void InsereFinalLista(Contato *novo); void AlteraContato(Contato *); // apontador para início da lista que contém os dados da agenda Contato *inicio; void main() { // permitir uso de acentuação setlocale(LC_ALL, ""); // inicialmente a lista está vazia inicio = NULL; // leitura dos dados previamente cadastrados, caso // o usuário tenha usado o programa anteriormente LerArquivo(); // opções do menu int op; do { printf("\n===========================\n"); printf("Agenda Telefônica - Opções:\n"); printf("===========================\n"); printf("1. Inserir\n"); printf("2. Alterar\n"); printf("3. Eliminar\n"); printf("4. Pesquisar\n"); printf("5. Listar Todos\n"); printf("6. Sair\n\n"); printf("---------------------------\n"); printf("Digite a sua opção (1..6): "); scanf("%d", &op); switch(op) { case 1: Inserir(); break; case 2: Alterar(); break; case 3: Eliminar(); break; case 4: Pesquisar(); break; case 5: ListarTodos(); break; } }while (op != 6); // ao terminar o programa, o usuário tem a oportunidade // de fazer a gravação dos dados cadastrados printf("Salva agenda (S/N)? "); char resp; do { scanf("%c", &resp); }while ((tolower((unsigned char)resp )!= 's') && (tolower((unsigned char)resp )!= 'n')); if (tolower((unsigned char)resp )== 's') GravarArquivo(); // desaloca memória alocada para a lista, senão teremos MEMORY LEAK DestroiLista(); } // // Insere novo contato na lista // void Inserir() { Contato *novo = (Contato *)malloc(sizeof(Contato)); if (novo == NULL) { printf("ERRO FATAL: Falta memória!\n"); return; } printf("\nInsere novo contato na lista telefônica:\n"); printf(" Nome: "); do { gets(novo->nome); }while (*novo->nome == 0x00); printf(" Fone: "); do { gets(novo->fone); }while (*novo->fone == 0x00); // novo contato será inserido no final da lista novo->prox = NULL; InsereFinalLista(novo); } void InsereFinalLista(Contato *novo) { // verifica se lista de contatos está vazia if (inicio == NULL) { inicio = novo; return; } // posiciona no último elemento da lista Contato *ultimo = inicio; while(ultimo->prox != NULL) ultimo = ultimo->prox; // insere novo elemento após o último elemento da lista ultimo->prox = novo; } void Alterar() { printf("\nAltera contato na lista telefônica:\n"); int n; char resp, nome[80]; Contato *contato; while(1) { printf("Nome a ser alterado (ou FIM para terminar): "); do { gets(nome); }while(*nome == 0x00); if (stricmp(nome, "fim") == 0) return; // percorre toda a lista n = 0; contato = inicio; while (contato) { // verifica se nome cadastrado na lista contém // o nome informado pelo usuário if (ProcuraSubstring(contato->nome, nome) != NULL) { ++n; // contador de contatos encontrados // mostra dados e pede confirmação do usuário para alterar os dados printf(" %s - Fone: %s\n", contato->nome, contato->fone); printf("Altera (S/N)?"); do { scanf("%c", &resp); }while ((tolower((unsigned char)resp )!= 's') && (tolower((unsigned char)resp )!= 'n')); if (tolower((unsigned char)resp )== 's') AlteraContato(contato); } // próximo contato da lista contato = contato->prox; } // mostra mensagem de erro caso nenhum contato tenha sido encontrado if (n == 0) printf(" Contato não encontrado!\n"); } } void AlteraContato(Contato *contato) { printf(" Nome: "); do { gets(contato->nome); }while (*contato->nome == 0x00); printf(" Fone: "); do { gets(contato->fone); }while (*contato->fone == 0x00); } void Eliminar() { printf("\nElimina contato na lista telefônica:\n"); int n, eliminou; char resp, nome[80]; Contato *contato, // apontador para contato atual *prox, // apontador para contato anterior *ant; // apontador para próximo contato while(1) { printf("Nome a ser eliminado (ou FIM para terminar): "); do { gets(nome); }while(*nome == 0x00); if (stricmp(nome, "fim") == 0) return; // percorre toda a lista de contatos n = 0; contato = inicio; ant = NULL; prox = inicio->prox; while (contato) { eliminou = 0; // flag indicando que contato não foi eliminado // verifica se nome do contato contém nome informado pelo usuário if (ProcuraSubstring(contato->nome, nome) != NULL) { ++n; // contador de contatos encontrados // mostra contato e pede confirmação do usuário para eliminá-lo printf(" %s - Fone: %s\n", contato->nome, contato->fone); printf("Elimina (S/N)?"); do { scanf("%c", &resp); }while ((tolower((unsigned char)resp )!= 's') && (tolower((unsigned char)resp )!= 'n')); if (tolower((unsigned char)resp )== 's') { // salva apontador para próximo contato prox = contato->prox; // libera contato eliminado free(contato); // elemento anterior apontará para o próximo elemento if(ant == NULL) inicio = prox; // eliminando o primeiro elemento da lista else ant->prox = prox; // próximo contato contato = prox; // flag indicando que contato foi eliminado eliminou = 1; } } // pega o próximo contato caso o contato não tenha sido eliminado if (eliminou == 0) { ant = contato; contato = contato->prox; } } // mostra mensagem caso nenhum contato tenha sido encontrado if (n == 0) printf(" Contato não encontrado!\n"); } } void Pesquisar() { printf("\nPesquisa contato na lista telefônica:\n"); int n; char nome[80]; Contato *contato; while(1) { printf("Nome a ser procurado (ou FIM para terminar): "); do { gets(nome); }while(*nome == 0x00); if (stricmp(nome, "fim") == 0) return; // percorre toda a lista n = 0; contato = inicio; while (contato) { // verifica se nome do contato contém o nome informado pelo usuário if (ProcuraSubstring(contato->nome, nome) != NULL) { // mostra dados do contato encontrado printf(" %s - Fone: %s\n", contato->nome, contato->fone); ++n; // atualiza contador de contatos encontrados } contato = contato->prox; } // mostra mensagem indicando que nenhum contato foi encontrado if (n == 0) printf(" Contato não encontrado!\n"); } } // // Mostra todos os contatos cadastrados na lista telefônica // void ListarTodos() { printf("\nMostra todos os contatos na lista telefônica:\n"); if (inicio == NULL) { printf(" Lista está vazia\n"); return; } // percorre toda a lista mostrando os dados de cada contato Contato *contato = inicio; while(contato != NULL) { printf(" Nome: %s - Fone: %s\n", contato->nome, contato->fone); contato = contato->prox; } } // // Pesquisa substring em uma string, ignorando // diferenças entre letras maiúsculas e minúsculas // obs.: a função padrão strstr() considera letras MAI e min diferentes // // Valor Retornado: // Apontador onde substring se encontra na string // NULL, se substring não for encontrada // char* ProcuraSubstring(char *string, char *substring) { char *s, *sub; char *str = string; do { s = str; sub = substring; while (tolower((unsigned char)*s) == tolower((unsigned char )*sub) && *sub) { ++s; ++sub; } if (*sub == 0) return str; }while (*str++); return NULL; } // leitura do arquivo texto contendo, em cada linha, os dados dos // contatos cadastrados. Os campos NOME e FONE estão separados por '|' void LerArquivo() { // abre arquivo texto para leitura FILE *arq = fopen(NOME_ARQUIVO, "r"); if (arq == NULL) return; Contato *novo; char buffer[250], *nome, *fone, *separador; // leitura do arquivo, linha a linha, até que não existam mais linhas while(fgets(buffer, 250, arq) != NULL) { // elimina '\n' no final do buffer *(buffer + strlen(buffer) - 1) = 0x00; // separa os campos separador = strchr(buffer, '|'); if (separador != NULL) { *separador = 0x00; fone = separador + 1; // primeiro caractere depois de '|' // cria novo contato e insere ele no final da lista novo = (Contato *)malloc(sizeof(Contato)); if (novo != NULL) { strcpy(novo->nome, buffer); strcpy(novo->fone, fone); novo->prox = NULL; InsereFinalLista(novo); } } } // fecha arquivo fclose(arq); } // gravação do arquivo texto contendo, em cada linha, os dados dos // contatos cadastrados. Os campos NOME e FONE serão separados por '|' void GravarArquivo() { // abre arquivo texto para gravação. Se arquivo existir, ele será // sobrescrito; caso contrário, ele será criado FILE *arq = fopen(NOME_ARQUIVO, "w"); if (arq == NULL) return; // percorre toda a lista de contatos char buffer[250]; Contato *contato = inicio; while(contato) { // monta linha com nome e fone do contato separador por '|' sprintf(buffer, "%s|%s\n", contato->nome, contato->fone); // grava linha no arquivo fputs(buffer, arq); // próximo contato contato = contato->prox; } // fecha arquivo fclose(arq); } // percorre toda a lista, liberando espaço alocado pela // função malloc() para cada contato void DestroiLista() { Contato *prox; // próximo elemento // percorre toda a lista while (inicio) { // salva próximo elemento, pois o elemento corrente será descartado prox = inicio->prox; // libera memória do elemento corrente free(inicio); // pega o próximo elemento inicio = prox; } }
-
@Simon Viegas Entendi, obrigada
-
@tysquare89 obrigada
- 1
-
Então, esse é meu primeiro programa com lista e eu vi feito por um prof no you tube, minha duvida é como chamar a função busca posição na função principal
#include <stdio.h> #include <stdlib.h> const int MAXTAM = 1000; int Frente, Tras; int Lista[MAXTAM]; void Lista_Construtor(){ Frente=0; Tras=-1; } bool Lista_Inserir_Inicio(int valor){ if(Lista_Cheia()){ return false; }else{ for(int i=Tras+1;i>Frente;i--) Lista[i]=Lista[i-1]; Lista[Frente]=valor; Tras++; return true; } } bool Lista_Inserir_Fim(int valor){ if(Lista_Cheia()){ return false; }else{ Tras++; Lista[Tras]=valor; return true; } } bool Lista_Inserir(int valor, int Posicao){ if(Lista_Cheia()){ return false; }else{ if(Posicao>=Frente && Posicao<=Tras){ for(int i=Tras+1;i>Posicao;i--) Lista[i]=Lista[i-1]; Lista[Posicao]=valor; Tras++; return true; }else{ return false; } } } bool Lista_Busca_Valor(int valor, int &Posicao){ int i; if(Lista_Vazia()){ return false; }else{ for(i=Frente;i<Tras;i++){ if(Lista[i]==valor){ break; } } if(i==Tras){ return false; }else{ Posicao=i; return true; } valor=Lista[Posicao]; return true; } } int main(){ int valor; Lista_Construtor(); Lista_Inserir_Fim(5); Lista_Inserir_Inicio(10); Lista_Inserir_Fim(7); Lista_Inserir(20,1); Lista_Inserir_Inicio(8); //Lista_Busca_Posicao(*8, 1); system("pause"); return 0; }
- 1
-
/*Faça um programa que armazene em um registro de dados (estrutura composta) os dados de um funcionário de uma empresa, compostos de: Nome, Idade, Sexo (M/F), CPF, Data de Nascimento, Código do Setor onde trabalha (0-99), Cargo que ocupa (string de até 30 caracteres) e Salário. Os dados devem ser digitados pelo usuário, armazenados na estrutura e exibidos na tela.*/ #include <stdio.h> #include <stdlib.h> #include <locale.h> struct pessoa { char nome[50]; int idade; char sexo; unsigned long int cpf; char dataNas[15]; }; typedef struct funcionario { char cep[15]; char cargo[30]; float salario; struct pessoa Pessoa; } Funcionario; int main() { setlocale(LC_ALL, "portuguese"); FILE *arq; arq = fopen("arquivo.txt", "a"); if (arq == NULL) { printf("Erro na gravação de dados\n\n"); system("pause"); exit(1); } int n, i; printf("Digite qnts funcionarios gostaria de inserir: "); scanf("%d", &n); Funcionario x[n]; for (i = 0; i < n; i++) { getchar(); printf("Nome: "); fgets(x[i].Pessoa.nome, 50, stdin); printf("Idade: "); scanf("%d", &x[i].Pessoa.idade); printf("Sexo(F/M): "); scanf("%s", &x[i].Pessoa.sexo); printf("CPF: "); scanf("%d", &x[i].Pessoa.cpf); printf("DataNascimento (ddmmaaa):"); scanf("%s", &x[i].Pessoa.dataNas); printf("CEP: (00000000): "); scanf("%s", &x[i].cep); printf("Cargo: "); scanf("%s", &x[i].cargo); printf("Salário: "); scanf("%f", &x[i].salario); } printf("\n----DADOS---\n"); for (i = 0; i < n; i++) { printf("Nome: %s", x[i].Pessoa.nome); printf("Idade: %d", x[i].Pessoa.idade); printf("\nSexo: %c", toupper(x[i].Pessoa.sexo)); printf("\nCPF: %ld", x[i].Pessoa.cpf); printf("\nDataNascimento: %s", x[i].Pessoa.dataNas); printf("\nCEP: %s", x[i].cep); printf("\nCargo: %s", x[i].cargo); printf("\nSalário: %.2f\n", x[i].salario); printf("------------------------------\n"); } for (i = 0; i < n; i++) { fprintf(arq, x[i].Pessoa.nome); fprintf(arq, " ; "); } for (i = 0; i <n; i++){ fprintf(arq, " ", x[i].Pessoa.idade);} printf("\n DADOS GRAVADOS EM ARQUIVOS \n "); /* for (i = 0; i <x[i].Pessoa.idade; i++) fprintf(arq, " ", x[i].Pessoa.idade); for (i = 0; i <strlen(x[i].Pessoa.sexo); i++) fprintf(arq, x[i].Pessoa.sexo); for (i = 0; i <strlen(x[i].Pessoa.cpf); i++) fprintf(arq, " ",x[i].Pessoa.cpf); for (i = 0; i <strlen(x[i].Pessoa.dataNas); i++) fprintf(arq, x[i].Pessoa.dataNas ); for (i = 0; i <strlen(x[i].cep); i++) fprintf(arq,x[i].cep ); for (i = 0; i <strlen(x[i].cargo); i++) fprintf(arq, x[i].cargo); for (i = 0; i <10; i++) fprintf(arq, "valor: R$", x[i].salario); //*/ fclose(arq); return 0; }
@Simon Viegas Por enquanto eu tentei gravar só o nome e a idade, depois quero gravar o resto que esta no comentário
adicionado 5 minutos depois@devair1010 @Simon Viegas Ué funcionou...haha, o que o Devair falou
Agora gravou, agora vou tentar colocar as outras funções, obrigada gente
arq txt-> SILVA COSTA ; paula ; 22
adicionado 7 minutos depois@devair1010 e com float ? também é assim ? com "%f"
- 1
-
@Simon Viegas Acabei de tentar, continua gravando apenas o nome mesmo, compila normal, mas la não fica gravado
arq txt-> paula fabiana ; SILVA COSTA ;
- 1
-
@Simon Viegas Não consigo gravar int ou float, apenas string , Tentei colocar idade, mas continua gravando só string
arq txt -> paula Fabiana Rosa ; paula fabiana ;
for (i = 0; i < strlen(x[i].Pessoa.nome); i++) { fprintf(arq, x[i].Pessoa.nome); fprintf(arq, " ; "); } for (i = 0; i <x[i].Pessoa.idade; i++){ fprintf(arq, " ", x[i].Pessoa.idade);}
- 1
-
@Simon Viegas Ah entendi, pois eh...eu tentei fazer sem o vetor anteriormente, para pelo menos gravar, tentei outra vez aqui (porque tenho muitos exercícios para entregar e como não consegui, eu pulei ele ), mas continua dando errado, tipo grava o nome(string), mas para gravar os outros não esta dando certo,, nem idade , cpf... então desisti, vou arrumar mais livros para estudar arquivos, porque na net é muito vago, so mostra como gravar uma linha
- 1
-
/*Faça um programa que armazene em um registro de dados (estrutura composta) os dados de um funcionário de uma empresa, compostos de: Nome, Idade, Sexo (M/F), CPF, Data de Nascimento, Código do Setor onde trabalha (0-99), Cargo que ocupa (string de até 30 caracteres) e Salário. Os dados devem ser digitados pelo usuário, armazenados na estrutura e exibidos na tela.*/ #include <stdio.h> #include <stdlib.h> #include <locale.h> struct pessoa { char nome[50]; int idade; char sexo; unsigned long int cpf; char dataNas[15]; }; typedef struct funcionario { char cep[15]; char cargo[30]; float salario; struct pessoa Pessoa; } Funcionario; int main() { setlocale(LC_ALL, "portuguese"); FILE *arq; arq = fopen("arquivo.txt", "a"); if (arq == NULL) { printf("Erro na gravação de dados\n\n"); system("pause"); exit(1); } int n, i; printf("Digite qnts funcionarios gostaria de inserir: "); scanf("%d", &n); Funcionario x[n]; for (i = 0; i < n; i++) { getchar(); printf("Nome: "); fgets(x[i].Pessoa.nome, 50, stdin); printf("Idade: "); scanf("%d", &x[i].Pessoa.idade); printf("Sexo(F/M): "); scanf("%s", &x[i].Pessoa.sexo); printf("CPF: "); scanf("%d", &x[i].Pessoa.cpf); printf("DataNascimento (ddmmaaa):"); scanf("%s", &x[i].Pessoa.dataNas); printf("CEP: (00000000): "); scanf("%s", &x[i].cep); printf("Cargo: "); scanf("%s", &x[i].cargo); printf("Salário: "); scanf("%f", &x[i].salario); } printf("\n----DADOS---\n"); for (i = 0; i < n; i++) { printf("Nome: %s", x[i].Pessoa.nome); printf("Idade: %d", x[i].Pessoa.idade); printf("\nSexo: %c", toupper(x[i].Pessoa.sexo)); printf("\nCPF: %ld", x[i].Pessoa.cpf); printf("\nDataNascimento: %s", x[i].Pessoa.dataNas); printf("\nCEP: %s", x[i].cep); printf("\nCargo: %s", x[i].cargo); printf("\nSalário: %.2f\n", x[i].salario); printf("------------------------------\n"); } printf("\n DADOS GRAVADOS EM ARQUIVOS \n "); for (i = 0; i < strlen(x[i].Pessoa.nome); i++) { fprintf(arq, x[i].Pessoa.nome); fprintf(arq, " ; "); } /* for (i = 0; i <x[i].Pessoa.idade; i++) fprintf(arq, " ", x[i].Pessoa.idade); for (i = 0; i <strlen(x[i].Pessoa.sexo); i++) fprintf(arq, x[i].Pessoa.sexo); for (i = 0; i <strlen(x[i].Pessoa.cpf); i++) fprintf(arq, " ",x[i].Pessoa.cpf); for (i = 0; i <strlen(x[i].Pessoa.dataNas); i++) fprintf(arq, x[i].Pessoa.dataNas ); for (i = 0; i <strlen(x[i].cep); i++) fprintf(arq,x[i].cep ); for (i = 0; i <strlen(x[i].cargo); i++) fprintf(arq, x[i].cargo); for (i = 0; i <10; i++) fprintf(arq, "valor: R$", x[i].salario); //*/ fclose(arq); return 0; }
Não precisa gravar em arq, só estava tentando
- 1
-
@Simon Viegas Não, era só para testar gravar mais de uma linha em arquivo, ainda sou nova em programação....mas muito obrigada
- 1
-
@devair1010 Hmm entendi, obrigada
- 1
-
for(i=0; i<strlen(x);i++){
fprintf(arq,x.Pessoa.nome );
fprintf(arq, "\n");
fprintf(arq,x.Pessoa.idade );
}Minha dúvida é como colocar no argumento dentro do for, porque quando é apenas uma linha posso colocar o i<strlen(x), mas quero gravar nome e idade. Como fazer
- 1
-
Entendi, obrigada devair1010
-
Então minha dúvida é o que esta acontecendo, quando eu coloco 3 pessoas ele compila e ordena, mas se eu colocar 4 ou mais ele buga, aparece coisas estranhas, estou usando o qsort
typedef struct coisas
{
int number;
int pessoas;
char nome[50];
} Coisas;
int comparaNome(const void *a, const void *b)
{
int r = strcmp((*(struct coisas*)a).nome,
(*(struct coisas*)b).nome);if(r==0)
return 0; //iguais
else if(r<0)
return -1; //vem antes
else
return 1; //vem depois}
int main()
{
setlocale(LC_ALL, "portuguese");
int x;
printf("Digite a quantidade de pessoas : ");
scanf("%d", &x);
Coisas c[x];
int i=0;
getchar();for(; i<x; i++)
{
printf("Digite o %d° nome: ", (i+1));
fgets(c.nome, 50, stdin);
printf("Digite a %d° idade: ", (i+1));
scanf("%d", &c.number);
qsort(c, x, sizeof(struct coisas), comparaNome);}
printf("\t-DADOS EM ORDEM ALFABETICA-\n");
for(i=0; i<x; i++)
{
printf("%s\n", c.nome);
}
return 0;
}
- 1
-
14 minutos atrás, isrnick disse:
Para postar códigos no fórum sempre use a tag CODE apertando o botão <> no topo do campo de respostas, assim você preserva a formatação do código e evita que o fórum faça alterações nele.
Por exemplo, o fórum "comeu" todos os [ i ] (sem espaços) do seu código, pois no fórum isso é a tag para deixar o texto em itálico, então o texto do seu código está em itálico a partir do primeiro que foi encontrado (os demais apenas somem porque o texto já tá em itálico).
E o problema parece ser que você não limpou o buffer de entrada depois do primeiro scanf:
scanf("%d", &x);
Logo, está sobrando um '\n' na entrada padrão após o scanf, que então é entendido como uma entrada pelo gets ou fgets que vem a seguir, logo passa direto por ele... (Prefira usar o fgets.)
Então precisa eliminar o '\n' da entrada com um %*c no scanf, ou um getchar após esse scanf.
Funcionou, era só colocar o getchar(); depois do scanf("%d", &x); super obrigada e pela dica do fgets também.
PS: Ah.... e a respeito de como colocar no site obg também , primeiro post... haha.
- 1
-
Então eu digito todos os dados, mas na hora de imprimir ele pula o nome, tentei usar getchar(); e o fflush(stdin); mas nada, sempre pula o nome da pessoa, (Uso o codeBlocks)
Codigo
struct endereco
{
char rua[40];
int numero;};
struct Pessoa
{
char nome[50];
int idade, telefone;
struct endereco ender;
};
typedef struct Pessoa cadastro;
int main()
{
int x, i;
setlocale(LC_ALL, "portuguese");
printf("Entre com a qnt de pessoas a serem cadastradas");
scanf("%d", &x);
cadastro p[x];
for(i=0; i<x; i++)
{
printf("Nome: ");
gets(p.nome);
//fgets(p.nome, 50, stdin);
getchar();
fflush(stdin);
printf("Idade: ");
scanf("%d", &p.idade);
printf("Telefone: ");
scanf("%d", &p.telefone);
getchar();
fflush(stdin);
printf("Rua: ");
gets(p.ender.rua);
printf("Número rua: ");
scanf("%d", &p.ender.numero);}
for(i=0; i<x; i++)
{//getchar();
// fflush(stdin);
printf("\nNome: %s", p.nome);
printf("\nIdade: %d", p.idade);
printf("\nTelefone: %d", p.telefone);
printf("\nRua: %s", p.ender.rua);
printf("\nNúmero rua: %d", p.ender.numero);
}return 0;
}
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
Como inserir valores decrescente
em C/C#/C++
Postado
Então eu gostaria de inserir um vetor que vai de 10 a 1, contudo só sei colocar de formar crescente. Alguém sabe como colocar, por que depois eu tenho que orderna em forma crescente o o quicksort
Esquece consegui aqui, obrigado