-
Posts
16 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por luckyiers
-
-
@devair1010 ai eu nao entendi como vou poder comparar
- 1
-
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <ctype.h> //protótipo das funções int menu(); void cadastrar(); void listar(); void consultar(); //criação da struct typedef struct { char cpf[15], nome[41]; float credito; } cliente; //função principal main() { int resp; do { resp = menu(); switch(resp) { case 1 : cadastrar(); break; //case 2 : listar(); break; case 3 : consultar(); break; case 0 : exit(0); default: { printf("\nOpcao invalida...\n"); system("pause"); } } } while (resp !=0); } //função cadastrar() void cadastrar() { //declaração das variáveis locais cliente cadcliente; char resposta; //declaração ponteiro do arquivo FILE *pontarq; //abrir o arquivo para escrita no modo binário (ab) pontarq = fopen("cadastrocli.txt", "ab"); //estrutura de repetição da entrada de dados do { system("cls"); printf("Informe o CPF do cliente: "); fflush(stdin); scanf("%14[^\n]", cadcliente.cpf); printf("Informe o nome do cliente: "); fflush(stdin); scanf("%40[^\n]", cadcliente.nome); printf("Informe o valor do credito: "); scanf("%f", &cadcliente.credito); //gravar as informações no arquivo fwrite(&cadcliente, sizeof(cadcliente),1,pontarq); printf("Cadastrar outro cliente <S/N>"); resposta = getche(); } while(toupper(resposta)=='S'); //fechar o arquivo fclose(pontarq); } //função menu() int menu() { //declaração da variável int opcao; system("cls"); printf("1-Cadastrar\n2-Listar\n3-Consultar\n0-Sair\n"); printf("Opcao?: "); scanf("%i", &opcao); return opcao; } //função consultar() void consultar() { //variáveis locais cliente cadcliente; char chave[41]; int flag = 0; //ponteiro para o arquivo FILE *pontarq; //abrir o arquivo para leitura modo binário if((pontarq=fopen("cadastrocli.txt", "rb"))==NULL) { printf("\nErro na abertura do arquivo ou nao ha registros\n"); } else { system("cls"); printf("Informe o nome a consultar: "); fflush(stdin); scanf("%40[^\n]", chave); //estrutura de repetição para ler o arquivo e comparar com a chave while((fread(&cadcliente, sizeof(cadcliente), 1, pontarq))==1) { if(strcmp(strupr(chave),strupr(cadcliente.nome))==0) { printf("CPF: %s", cadcliente.cpf); printf("\nNome: %s", cadcliente.nome); printf("\nCredito: %.2f\n", cadcliente.credito); //mostrar flag para 1 - encontrou flag = 1; } } if(flag == 0) printf("\nCliente nao cadastrado...\n"); //fechar o arquivo fclose(pontarq); } system("pause"); }
Tem esse cadastro de CPF o nome e o credito mais eu não queria que repetisse tipo por exemplo o CPF eu n sei como q eu posso estar fazendo isso
- 1
-
Olá boa tarde preciso criar uma função para gravar em arquivo (como registro e modo binário) o CRM de um medico o seu nome e sua especialidade (preciso utilizar structs e o CRM não pode se repetir) não estou entendo como vou fazer a função de não repetir os números de CRM. Obrigado
- 1
-
@arfneto isso a struct remedios de cadastros tem eu estar no maximo 50
- 1
-
#include<stdio.h> #include<stdlib.h> struct remedios { int codigo, quantidade; char nome[50]; float valor; struct remedios *ant; struct remedios *prox; }; int escolha; main() { remedios*inicio = (remedios*)malloc(sizeof(remedios)); if(!inicio) { printf("Erro"); exit(1); } inicio->codigo = NULL; inicio->nome[0] = NULL; inicio->quantidade= NULL; inicio->valor = NULL; inicio->prox = NULL; do { printf("1 - Carregar despesas de remedios" ); printf("\n"); printf("2 - Imprimir lista das despesas de remedios"); printf("\n"); printf("3 - Sair"); printf("\nFunção: "); scanf("%i", &escolha); printf("\n"); switch(escolha) { case 1: { remedios*novo = (remedios*)malloc(sizeof(remedios)); if (!novo) { printf("Erro"); exit(1); } novo->codigo = NULL; novo->nome[0] = NULL; novo->quantidade = NULL; novo->valor = NULL; novo->prox = NULL; printf("Codigo: "); scanf("%i", &novo->codigo); printf("Nome do remedio: "); fflush(stdin); gets(novo->nome); printf("quantidade: "); scanf("%i", &novo->quantidade); printf("valor: "); scanf("%f", &novo->valor); if (inicio->prox == NULL) { inicio->prox = novo; } else { remedios *temp; temp = inicio; while (temp->prox != NULL) { temp = temp->prox; } temp->prox = novo; } } break; case 2: { remedios *temp; temp = inicio; if(inicio->prox == NULL) { printf("Nenhum remedio encontrado\n\n"); system("pause"); break; } else { do { temp = temp->prox; printf("Codigo: %2i\n", temp->codigo); printf("Nome do remedio: %2s\n", temp->nome); printf("Quantidade: %2i\n", temp->quantidade); printf("valor: %2f\n", temp->valor); printf("\n"); }while (temp->prox != NULL); } } printf("\n"); system("pause"); break; case 3: { printf("Fim do programa\n\n"); } system("pause"); break; } system("cls"); }while(escolha != 3); }
Ola estou tentando limitar essa struct do comeco para 50 mais ela nao esta indo se alguem poder me ajudar como fazer isso agradeco. Obrigado
- 1
-
#include <iostream> #include <new> #include <string> #include <stdlib.h> using namespace std; //Struct para album struct album{ string nome; int ano; struct album *proximo; }; //Limpa a tela void limpatela(){ system("CLS"); } //Conta quantos elementos tem na lista int retornaTamanhoListaEncadeada(album *ponteiroEncadeada){ //Tamanho da lista int tamanho = 0; //Ponteiro para percorrer a lista album *p = ponteiroEncadeada; while(p != NULL){ //Transforma o P no endereco do proximo valor, Caso o endereco seja NULL, estamos no fim da lista p = p->proximo; //Contador de tamanho da lista tamanho++; } return tamanho; } //Imprime a lista encadeada void imprimeEncadeada(album *ponteiroEncadeada) { //Ponteiro auxiliar para percorrer a lista album *p = ponteiroEncadeada; //Mostra a posicao do elemento int posicao = 0; //Enquanto o p nao for nulo while(p != NULL){ //Imprime o valor da lista cout << posicao << " - " << p->nome << ", " << p->ano << "\n"; //Transforma o P no endereco do proximo valor, Caso o endereco seja NULL, estamos no fim da lista p = p->proximo; //Incrementa a variavel da posicao dos elementos posicao++; } //Libera Memoria free(p); } //Adiciona um elemento ao comeco void adcComecoEncadeada(album *&ponteiroEncadeada, string nome, int ano){ //Cria uma nova estrutura album *novovalor = new album; novovalor->nome = nome; novovalor->ano = ano; novovalor->proximo = ponteiroEncadeada; //Redireciona o ponteiro ponteiroEncadeada = novovalor; } //Adiciona um elemento ao fim void adcFimEncadeada(album *ponteiroEncadeada, string nome, int ano){ //Cria um novo valor album *novoValor = new album; novoValor->nome = nome; novoValor->ano = ano; novoValor->proximo = NULL; //Cria um cursor que percorre a lista album *p = ponteiroEncadeada; //Enquanto o p nao for nulo while(p != NULL){ //Se estiver no ultimo elemento if(p->proximo == NULL){ //Faz ele acrescentar o novo valor e sair do while p->proximo = novoValor; return; } //Transforma o P no endereco do proximo valor //Caso o endereco seja NULL, estamos no fim da lista //E saimos do while p = p->proximo; } //Libera Memoria free(p); free(novoValor); } //Adiciona valor numa posicao especifica void adcPosicaoEncadeada(album *ponteiroEncadeada,string nome,int ano, int posicao){ //Criar NODE com um valor album *novoValor = new album; novoValor->nome = nome; novoValor->ano = ano; novoValor->proximo = NULL; //Ponteiro Auxiliar album *p = ponteiroEncadeada; //Variavel que percorre a lista int i = 0; //Criar o auxiliar para Salvar o endereco em K-1 ->proximo while(i <= posicao){ if(i == posicao-1){ //Auxiliar do valor album *aux = new album; //Precisamos armazenar o endereco a ser apontado pelo novo node aux->proximo = p->proximo; //Fazendo o elemento K-1 apontar para o novo NODE p->proximo = novoValor; //Fazendo o novo NODE apontar para a auxiliar novoValor->proximo = aux->proximo; //Libera a Memoria free(aux); } //Analisa o proximo membro da lista p = p->proximo; //Contador de posiчѕes i++; } } //Remove o elemento inicial void removeInicioEncadeada(album *&ponteiroEncadeada, string *nome, int *ano){ //Retorna o nome do removido *nome = ponteiroEncadeada->nome; *ano = ponteiroEncadeada->ano; //O ponteiroEncadeada recebe o endereo do proximo elemento,Agora o segundo elemento torna-se o ponteiroEncadeada ponteiroEncadeada=ponteiroEncadeada->proximo; } //Remove do final da lista void removeFinalEncadeada(album *&ponteiroEncadeada, string *nome, int *ano){ //Auxiliares album *p = new album; album *aux = new album; //Se houver apenas um elemento na lista if(ponteiroEncadeada->proximo == NULL){ //Recupera o nome e ano de quem saiu *nome = ponteiroEncadeada->nome; *ano = ponteiroEncadeada->ano; //Libera a Memoria do unico elemento e o deixa nulo free(ponteiroEncadeada); ponteiroEncadeada = NULL; }else{ //Se houver mais de um elemento, nosso auxiliar p iguala-se ao ponteiroEncadeada p = ponteiroEncadeada; //Enquanto nao estiver no ultimo termo,o auxiliar torna-se o proximo //ate que o aux seja o penultimo elemento da lista while(p->proximo != NULL){ aux = p; p=p->proximo; } //passa o valor do ultimo elemento para a variavel "valor" *nome = p->nome; *ano = p->ano; //Aqui, o aux representa o peultimo elemento da lista //Tornando-o o ultimo elemento da lista aux->proximo = NULL; //Este codigo щ para fazer a limpeza de memoria free(p); } } //Remove posiчуo especэfica void removePosicaoEncadeada(album *ponteiroEncadeada,string *nome,int *ano, int posicao){ //Ponteiro Auxiliar album *p = ponteiroEncadeada; //Variavel que percorre a lista int i = 0; //Navega pela lista while(i <= posicao){ //Caso tenha alcanчado a posicao desejada if(i == posicao-1){ //Retorna os dados do usuario a ser removido *nome = p->nome; *ano = p->ano; //Auxiliar do valor album *aux = new album; //Precisamos armazenar o endereco a ser apontado pelo novo node aux = p->proximo; //Fazendo o elemento K apontar para o novo NODE (2 membros a frente) p->proximo = aux->proximo; //Libera a Memoria free(aux); } //Analisa o proximo membro da lista p = p->proximo; //Contador de posiчѕes i++; } free(p); } string retornaNomeEncadeada(album *&ponteiroEncadeada, int ano){ //nome return string nome = "Nao existe"; //ponteiro auxiliar album *p = ponteiroEncadeada; //le a lista while(p->proximo != NULL){ if(p->ano == ano){ nome = p->nome; return nome; } p = p->proximo; } return nome; } int main(){ //Variсveis int funcaoDesejada = 1, tamanho; //Cria o inicio da lista Encadeada album *ponteiroEncadeada; //Manipula as listas while(funcaoDesejada < 10 && funcaoDesejada > 0){ cout << "Operacoes \n"; cout << "1 - Insira um album no inicio da lista \n"; cout << "2 - Insira um album no fim da lista \n"; cout << "3 - Insira um album na posicao N \n"; cout << "4 - Retirar um album do inicio da lista \n"; cout << "5 - Retirar um album no fim da lista \n"; cout << "6 - Retirar um album na posicao N \n"; cout << "7 - Procurar um album com o campo nome \n"; cout << "8 - Imprimir a Lista. \n"; cout << "9 - Sair do sistema. \n"; cout << "10 - Help"; cout << "\nEscolha um numero e pressione ENTER: \n"; cout << "\nTamanho Atual[" << retornaTamanhoListaEncadeada(ponteiroEncadeada) << "]\n"; imprimeEncadeada(ponteiroEncadeada); //Lъ a opчуo cin >> funcaoDesejada; //Limpa as opчѕes limpatela(); //Variсveis para valores novos string nome; int ano, posicao,posicaoNaLista; //Alterna as Operacoes switch(funcaoDesejada){ case 1: //Cabecalho da acao cout << "Funcao Escolhida: Insira um album no inicio da lista\n"; //Lendo valores do usuario cout << "\nDigite o nome do album: "; cin >> nome; cout << "Digite o ano lancado: "; cin >> ano; //Adiciona no inicio adcComecoEncadeada(ponteiroEncadeada, nome, ano); //Exibe o usuario inserido cout << "Album: " << nome << ",ano: " << ano << " adicionado ao inicio da lista)"; break; case 2: //Cabecalho da acao cout << "Funcao Escolhida: Insira um album no fim da lista\n"; //Lendo valores do usuario cout << "\nDigite o nome: "; cin >> nome; cout << "Digite o ano: "; cin >> ano; if(retornaTamanhoListaEncadeada(ponteiroEncadeada) < 1){ //Adiciona ao inicio da Lista adcComecoEncadeada(ponteiroEncadeada, nome, ano); }else{ //Adiciona ao fim da Lista adcFimEncadeada(ponteiroEncadeada, nome, ano); } //Exibe o usuario inserido cout << "Usuario: "<< nome<< ",ano: "<< ano<< " adicionado ao final da lista("<< retornaTamanhoListaEncadeada(ponteiroEncadeada) << ")"; break; case 3: //Cabecalho da acao cout << "Funcao Escolhida: Insira um album na posicao N \n"; //Lendo valores do usuario cout << "\nDigite a Posicao: "; cin >> posicao; cout << "Digite o album: "; cin >> nome; cout << "Digite o ano: "; cin >> ano; if(posicao == 0 ){ //Adiciona ao inicio da Lista adcComecoEncadeada(ponteiroEncadeada, nome, ano); }else if(posicao == retornaTamanhoListaEncadeada(ponteiroEncadeada) - 1){ //Adiciona ao fim da Lista adcFimEncadeada(ponteiroEncadeada, nome, ano); }else{ //Adiciona na posicao N da Lista adcPosicaoEncadeada(ponteiroEncadeada,nome,ano, posicao); } //Exibe o album inserido cout << "Album: " << nome << ",ano: " << ano << " adicionado na posicao " << posicao << " da lista."; break; case 4: //Remove no inicio if(retornaTamanhoListaEncadeada(ponteiroEncadeada) == 0){ cout << "Lista Vazia"; }else{ //Remove no inicio removeInicioEncadeada(ponteiroEncadeada, &nome, &ano); //Exibe o album removido cout << "album: " << nome<< ",ano: " << ano << " foi removido do inicio"; } break; case 5: //Remove no final removeFinalEncadeada(ponteiroEncadeada, &nome, &ano); //Exibe o album removido cout << "album: " << nome << ",ano: " << ano << " foi removido do final."; break; case 6: //Cabealho da acao cout << "Funcao Escolhida: Remove um album na posicao escolhida\n"; cout << "Tamanho da Lista" << retornaTamanhoListaEncadeada(ponteiroEncadeada); //Lendo valores do album cout << "\nDigite a Posicao: "; cin >> posicao; if(posicao == 0){ //Remove no inicio removeInicioEncadeada(ponteiroEncadeada, &nome, &ano); }else{ //Remove na posicao N removePosicaoEncadeada(ponteiroEncadeada, &nome, &ano, posicao); } //Exibe o album removido cout << "album: "<< nome<< ",ano: "<< ano<< " foi removido da posicao" << posicao; break; case 7: //Cabecalho da acao cout << "Funcao Escolhida: Retorna o nome e a posicao pelo nome\n"; //Lendo valores do album cout << "Digite o ano: "; cin >> ano; cout << "O nome do ano:" << ano << " eh : " << retornaNomeEncadeada(ponteiroEncadeada, ano); break; case 8: imprimeEncadeada(ponteiroEncadeada); break; case 9: system("pause"); case 10: cout<<"Ola você entrou na ajuda. o progrma eh bem simples bem intuitivo com tudo explicado voce poderá listar quantos albuns desejar e ate modificar suas ordens do jeito que desejar imprimir retirar mudar o que for possivel :)"; } } return 0; }
Ola boa noite estou tentando desenvolver um codigo como cadastro de albuns e nome e o ano de lancamento mais mue ocdigo nao roda
- 1
-
@devair1010 cara mt obrigado vou reformular o topico
- 1
-
16 horas atrás, GuilhermeGB disse:
Você terá que criar um função que "leia" todas os caracteres de cada um dos os nomes, identifique quais são vogais, faça a contagem a cada vogal encontrada, e armazene o resultado numa variável para comparação.
//Elaborar um programa para receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais.//biblio
#include <stdio.h> #include <string.h> #include <stdlib.h> //variaveis char nomes[5][41], nomeM[41], vogaismaiores[41]; int i, j, contador=0; char vogais[] = "aeiouAEIOU"; //Função principal main() { //repeticao entrada for(i=0; i<5; i++) { printf("Informe o nome: "); fflush(stdin); scanf("%40[^\n]", nomes); } //Comparacao de strings for(i=0; i<5; i++) { if(strcmp(nomes, nomeM) > 0) { strcpy(nomeM, nomes); } } for (i=0;i<5;i++) { if(strcmp(nomes, vogais) > 0) { strcpy(vogaismaiores, nomes); } } printf("O nome com mais caracteres: %s\n", nomeM); printf("\nO nome com mais vogais %s\n", vogaismaiores); system("pause"); }
algo assim ? n sei se deu certo
- 1
-
Receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais
eu montei a parte de maior numero de caracteres mais nao consigo a maior quantidade de vogais se poderem me ajudar
< #include <stdio.h> #include <string.h> #include <stdlib.h> //Declaração das variáveis char nomes[5][41], maior[41]; int i; //Função principal main() { //Estrutura de repetição para entrada de dados for(i=0; i<5; i++) { printf("Informe o nome: "); fflush(stdin); scanf("%40[^\n]", nomes); } //Estrutura de repetição para comparar o tamanho das string for(i=0; i<5; i++) { if(strcmp(nomes, maior) >= 0) { strcpy(maior, nomes); } } printf("o nome com maior quantidade de caracteres e: %s\n", maior); system("pause"); } >
- 1
-
Então eu preciso criar um algoritmo em que tenho que inserir 5 números e desses 5 números pegar os 4 maiores eu so queria entender como posso estar montando isso que n sai nada da minha cabeça
.obrigado
- 1
-
Em 26/06/2020 às 19:59, mick 07 disse:
O que você quer dizer com isso? Não deu pra entender seu problema, favor explicar com mais detalhes.
A Ti da empresa resolveu fazer a troca do notebook. obrigado pela ajuda
-
ola boa noite tenho um notebook e ele estava lento agora ele fica ate 50% e n sobe mais que isso
-
@Pedro5900 vish cara tem algum tutorial ? KKKL
-
Ola bom dia eu possuo um tablet galaxy tab 2 e seu android esta 4.0 e gostaria de fazer uma atualizacao para um android mais atualizado e queria saber de algum tutorial bem explicado ou alguem poderia ta me ajudando a atualizar... obrigado
-
1. Elaborar um algoritmo na linguagem C para ler o salário e o estado civil (1-casado, 2-solteiro ou 3-separado) de 15 colaboradores de uma empresa. Mostrar o salário médio dos colaboradores por estado civil (casado, solteiro e separado)
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
Função sobre fazer cadastros e gravar em um arquivo
em C/C#/C++
Postado
@devair1010 cara muito obrigado estou tentando passar em ordem alfabetica mais ta listando somente 1