-
Posts
6.318 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
Relentless nesse link você pode ter um exemplo de tic tac toe , talvez te ajude :
-
E ai galera, meu primeiro tópico, preciso de um auxílio de vocês..
devair1010 respondeu ao tópico de Rhander França em C/C#/C++
@Rhander França seu código ficou bom , apenas você esqueceu de colocar uma posição da matriz que precisa de duas , e para achar o menor , do jeito que você colocou também da certo , mas se as três notas for maior que 99999 então manterá o valor do menor igual 99999 e nos cálculos dará erro , então com algumas modificações seu código poderia ser assim : #define NOTA 3 #include <stdio.h> int main(){ int participante, i, y, campea; float nota[NOTA][NOTA];/*matriz*/ float soma[NOTA]; /*vetor */ float menor, maior=0; printf("Informe a quantidade de participantes: "); scanf("%d",&participante); for(i = 0; i < participante; i++){ printf("****Notas da Candidata %d ****\n\n",i+ 1); for(y = 0; y < NOTA; y++){ printf("Notas %d -> ", y + 1); scanf("%f",¬a[i][y]); } } for(i = 0; i < participante; i++){ printf("\n****Notas da Candidata %d ****\n",i+ 1); soma[i] = 0; for(y = 0; y < NOTA; y++){ if(y==0)menor=nota[i][y]; printf("Nota %.2f\n",nota[i][y]); soma[i] += nota[i][y]; if(menor > nota[i][y]){ menor = nota[i][y]; } } printf("\n*****RESULTADO******\n"); printf("SOMA %.2f: \n", soma[i] - menor); if(maior < soma[i]){ maior = soma[i] - menor; campea = i + 1; } } printf("\n\n********CAMPEA********\n"); printf("Campea foi a candidata %d com soma %.2f\n\n",campea,maior); return 0; } -
C++ atividade valendo nota alguém poderia me ajudar
devair1010 respondeu ao tópico de Joanderson Santos em C/C#/C++
@Joanderson Santos para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres como os [ i ] que sumiram do seu código , e seu código está bom , mas no enunciado diz que precisa preencher o vetor com dados digitados pelo usuário , e não gerados randomicamente , que por sinal para gerar aleatório precisa usar antes a função : srand(time(NULL)); e a biblioteca : #include <time.h> então seu código com algumas modificações poderia ser assim : #include <stdio.h> #include <conio.h> #include <stdlib.h> /* 13.Faça um algoritmo que preencha um vetor V[25], com valores digitados pelo usuário, e em seguida preencha uma matriz M[5][5] com os valores do vetor V. */ int main(){ int V[25],M[5][5],i,j,cont=0; printf("Preenca O Vetor Com 20 Numeros\n"); for(j=0;j<25;j++){ printf("Digite O %d Valor",j+1); scanf("%d",&V[j]); } printf("\n"); for(i=0; i<5; i++){ for(j=0; j<5; j++){ M[i][j] = V[cont]; cont++; printf("%3d ",M[i][j] );/*organiza em colunas */ } printf("\n"); } getch(); return 0; } -
VisualG Faça o pseudocódigo para escrever a tabuada do números de 2 a 9
devair1010 respondeu ao tópico de annabanana em Programação - iniciantes
@annabanana para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres , e seu código está certo , apenas que no comando leia seria bom se informasse o que o usuário deve digitar , por exemplo : escreval("Digite Qual Casa Da Tabuada ") por que o valor de n não se sabe a que se refere . -
@lolla21 para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres , e no enunciado diz que primeiro pegar os números ate digitar zero , e para isso você pode guardar os números em um vetor para depois fazer os cálculos , e na hora de fazer o código é melhor ir fazendo aos poucos , uma opção de cada vez e ir testando , então seu código pode ser assim : #include <stdio.h> int main(){ int num[1000],j, maior=0,menor=0,cont_n_maior_q_10=0; int cont=0,n_maior_q_10=0,soma=0,soma_par=0; int n_par=0,soma_impar=0; while(num[cont-1]!=0){ printf("Digite um numero ou zero para parar : "); scanf("%d",&num[cont]); cont++; } cont--;/* remove o ultimo numero que é o zero */ for(j=0;j<cont;j++){ if(num[j] %2 == 0){n_par++;soma_par += num[j];} else soma_impar += num[j]; if(j==0){maior=num[0];menor=num[j];} if(maior < num[j])maior=num[j]; if(num[j]>10){n_maior_q_10+=num[j];cont_n_maior_q_10++;} } printf("\n\n"); printf("A Quantidade De Numeros Lidos Foi ----: %d Numeros\n",cont );/* A */ printf("A Quantidade De Numeros Par Foi ------: %d\n" ,n_par );/* C */ printf("A Soma Dos Numeros Impares Foi -------: %d\n" ,soma_impar );/* D */ printf("O Maior Numero Lido Foi --------------: %d\n" ,maior );/* E */ printf("A Media Dos Numeros Par Foi ----------: %.2f\n",(float)soma_par/n_par );/* G */ printf("A Media Dos Numeros Maior Que 10 Foi -: %.2f\n",(float)n_maior_q_10/cont_n_maior_q_10);/*H */ return 0; } ficou faltando fazer a soma total dos números e saber qual é o menor número .
-
C ARRANJOS - Como indicar valor dos elementos com índice maior e menor?
devair1010 respondeu ao tópico de P1909 em C/C#/C++
@P1909 para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres como os [ i ] que sumiram do seu código , e seu código está bom falta só o final que pode ser assim #include <stdio.h> #include <conio.h> #define TAM 10 // int main() { int valor[TAM], i, maior, posMaior, indmenor, indmaior; for (i = 0; i < TAM; i++) { printf("Informe o valor %i ",i+1); scanf("%i", &valor[i]); } maior = valor[0]; posMaior = 0; for (i = 1; i < TAM; i++) { if (valor[i] > maior) { maior = valor[i]; posMaior = i; } } printf("\n\nOs valores sao: \n\n"); for (i = 0; i < TAM; i++) { printf("%i ", valor[i]); } printf("\n\nMaior valor: %i - posicao: %d\n\n", maior, posMaior); printf("Todos Elementos Com Indice Menor Que O Maior Numero\n\n"); for(i=0;i<posMaior;i++){ printf("%d ",valor[i]); } printf("\n\nTodos Elementos Com Indice Maior Que O Maior Numero\n\n"); for(i=posMaior+1;i<10;i++){ printf("%d ",valor[i]); } printf("\n\n Tecle !"); getch(); return 0; } : -
@Sil Ks para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres , e esse txt que está nesse link está complicado de usar pois está gravado tudo junto numa mesma linha , e seu código está bom e parece que você está usando Linux pois no código tem o comando system("clrear"); e eu uso windows então coloquei "cls" e para ler arquivo txt você precisa usar o comando fscanf e lendo arquivo txt ele só consegue ler string , e então seu código com algumas modificações ficou assim : #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> /*#include "teste.h"*/ #define MAX 100 int i, tam, posicao; char nome[50]; int salario, familia, idade; float peso, altura, renda, media; typedef struct // Cria uma STRUCT para armazenar os dados de uma pessoa { char nome[50]; // char* nome dá falha de segmentação int salario; int familia; int idade; float peso; float altura; } Pessoa; // Define o nome do novo tipo criado Pessoa func[MAX]; void inicio(); int menu(); void cadastro(); int menu_op_2(); int menu_op_3(); void leitura(); int altera_salario(); int altera_altura(); int altera_peso(); int altera_idade(); int altera_familia(); int listar(); using namespace std; int contador; int main(){ int op; int op2; int op3; inicio(); do{ op=menu(); switch(op){ case 01: cadastro(); break; case 02: menu_op_2(); break; case 03: menu_op_3(); break; case 04: listar(); break; default: printf("\nOpcão invalida!!!\n\n "); break; } } while (op!=0); return 0; } /* ============================================================= = Menu Principal ============================================================= */ int menu(){ int opcao; system("cls"); do { printf("\n ======= Menu =======\n\n"); printf("1 - Cadastrar dados\n"); printf("2 - Alterar dados\n"); printf("3 - Relatorios\n"); printf("4 - Listar Todos\n"); printf("0 - sair do programa.\n\n"); printf("Escolha um opcao: \n"); scanf("%d", &opcao); /*if (opcao > 3 || opcao < 0){ system("cls"); printf("\nOpcão invalida!!!\n\n "); }*/ }while (opcao > 4 || opcao < 0); return opcao; } /* ============================================================= = Funções Cadastrar dados ============================================================= */ void cadastro(){ // cadastrar dados FILE *cadastrar; cadastrar=fopen("Dados2.txt", "a"); printf ("Quantidade de funcionários %d\n\n",contador-1); for(i=0; i<contador; i++) // leitura a partir do teclado { printf(" Nome do funcionario: "); scanf(" %[^\n]s", func[i].nome); fputs(func[i].nome, cadastrar); printf(" Salario: "); scanf("%d", &func[i].salario); fprintf(cadastrar, " %d ", func[i].salario); printf(" Nro de familiares: "); scanf("%d", &func[i].familia); fprintf(cadastrar, " %d ", func[i].familia); printf(" Idade: "); scanf("%d", &func[i].idade); fprintf(cadastrar, " %d ", func[i].idade); printf(" Peso: "); scanf("%f", &func[i].peso); fprintf(cadastrar, " %0.3f ", func[i].peso); printf(" Altura: "); scanf("%f", &func[i].altura); fprintf(cadastrar, " %0.2f\n ", func[i].altura); printf(" \n "); } printf("Dados armazenados\n"); //impressão para teste { printf(" \n Funcionario: %s ", func[i].nome); printf(" \n Salario: %d ", func[i].salario); printf(" \n Familia: %d ", func[i].familia); printf(" \n Idade: %d ", func[i].idade); printf(" \n Peso: %0.3f ", func[i].peso); printf(" \n Altura: %0.2f ", func[i].altura); printf(" \n "); } fclose(cadastrar); } /* ============================================================= = Menu Alterar dados ============================================================= */ int menu_op_2(){ printf(" \n Digite um nome : "); scanf(" %[^\n]s", nome); posicao=0; for(i=0; i<contador; i++) { if(strcmp(nome, func[i].nome)== 0) { posicao = i; break; } } if(posicao = 0) { printf(" Registro não encontrado!\n "); } else{ printf("\n Registro encontrado! " ); printf(" \n Trabalhador --------: %s" , nome ); printf(" \n Salario ------------: %d " , func[posicao].salario); printf(" \n Nro familiares -----: %d " , func[posicao].familia); printf(" \n Idade --------------: %d " , func[posicao].idade ); printf(" \n Peso ---------------: %0.3f ", func[posicao].peso ); printf(" \n Altura -------------: %0.2f ", func[posicao].altura ); printf(" \n -------------------------------------------------\n"); leitura(); } printf(" Tecle !"); getch(); } void leitura(){ FILE *cadastrar; cadastrar = fopen("Dados2.txt","r+"); int opcao2; printf("======= O Que Deseja Alterar =======\n"); printf("\n"); printf("1 - Alterar nome\n"); printf("2 - Alterar salario\n"); printf("3 - Alterar altura\n"); printf("4 - Alterar peso\n"); printf("5 - Alterar idade\n"); printf("6 - Alterar familia\n"); printf("0 - Retornar ao menu principal.\n\n"); printf("Escolha um opcao: \n"); scanf("%d", &opcao2); if (opcao2 > 6 || opcao2 < 0){ system("clear"); printf("\nOpcão invalida!!!\n\n "); return leitura(); // retorna ao menu alterar } if (opcao2 < 7 && opcao2 > 0){ do{ system("clear"); switch(opcao2){ case 1: setbuf(stdin, NULL); printf("Informe novo nome: "); fgets(nome, 50, stdin); fputs(nome, cadastrar); break; case 2: altera_salario(); break; case 3: altera_altura(); break; case 4: altera_peso(); break; case 5: altera_idade(); break; case 6: altera_familia(); break; } //espera enter }while(opcao2 > 6 || opcao2 < 0); return leitura(); } } int menu_op_3(){ } int altera_salario(){ } int altera_altura(){ } int altera_peso(){ } int altera_idade(){ } int altera_familia(){ } void inicio(){ int j=0; char a[10],b[10],c[10],d[10],e[10]; FILE *fp; fp = fopen("Dados2.txt","r+"); if(fp!=NULL) while( fscanf(fp,"%s %s %s %s %s %s",func[j].nome,a,b,c,d,e ) != EOF ){ func[j].salario = atoi(a) ; func[j].familia = atoi(b) ; func[j].idade = atoi(c) ; func[j].peso =(float)atoi(d); func[j].altura=(float)atoi(e); printf("nome ----: %s\n" ,func[j].nome ); printf("salario -: %d\n" ,func[j].salario); printf("familia -: %d\n" ,func[j].familia); printf("idade ---: %d\n" ,func[j].idade ); printf("peso ----: %.2f\n" ,func[j].peso ); printf("altura --: %.2f\n\n",func[j].altura ); j++; } else printf("Erro No Arquivo, Nao Pode Abrir . . .!" ); printf("Aqui estão Todos Os Cadastros\n" ); printf(" Guardados Na Struct\n\n Tecle !\n"); contador=j; getch(); fclose(fp); } int listar(){ int j; system("cls"); printf(" Todos Os Cadastros\n\n"); for(j=0;j<contador;j++){ printf("nome ----: %s\n" ,func[j].nome ); printf("salario -: %d\n" ,func[j].salario); printf("familia -: %d\n" ,func[j].familia); printf("idade ---: %d\n" ,func[j].idade ); printf("peso ----: %.2f\n" ,func[j].peso ); printf("altura --: %.2f\n\n",func[j].altura ); } printf(" Tecle !"); getch(); }
-
C++ Verificar moradores cadastrados a
devair1010 respondeu ao tópico de WilliamNascimento em C/C#/C++
@WilliamNascimento flag é uma variável qualquer , usei ela para indicar que achou o nome guardado no vetor , assim depois de terminar o loop , e verificando o valor dessa variável pode se saber se achou ou não o nome , pois se o valor dela for 1 significa que achou e se for zero então não achou , e aí informa ao usuário que não achou , pois se você apenas colocar um else dentro loop então toda vez que ele comparar o nome com o que está no vetor e não for igual ele vai imprimir que o nome não foi encontrado e assim terá essa mesma frase escrita várias vezes . e usei o cont para trabalhar apenas com as posições que já foram castradas evitando que você fique procurando no vetor onde não há nada guardado , diminuindo os ciclos de processamento , pois o cont vai contando cada cadastro realizado então para saber quanto moradores foram cadastrados você verifica essa variável . -
@Kaori san seu código está bom , mas você não colocou para pegar o valor retornado da função , nessas linhas aqui : //armazenar o quadrado em um vetor. for(i=0;i<N;i++){ c[i]=QuadVetor(Vetor[i],c[i]); }
-
C++ Verificar moradores cadastrados a
devair1010 respondeu ao tópico de WilliamNascimento em C/C#/C++
@WilliamNascimento no seu código você já colocou uma matriz para registrar e informar se o morador já pagou ou não , então de jeito que eu tinha dito anteriormente , nessa matriz você coloca o valor hum para informar que o morador já pagou e zero para informar que ainda não pagou , então seu código com algumas modificações poderia ser assim : #include <iostream> #include <cstdlib> #include <locale.h> #include <string.h> #include <ctype.h> #include <conio.h> #include <windows.h> using namespace std; //prototipos void indice(); //Structs struct morador { char nome[50]; int idade; int codigo; char rua[60]; int numcasa; int pagamento[100][3]; }; // int cont; int main(){ int flag; //VARIAVEIS int op,quantm,i,idade,j,valor_p,mes,adcv; char nome_m[60],opc; //STRUCT morador x[100]; setlocale (LC_ALL,""); // opções do{ system("cls"); indice(); //SELECIONAR OPCAO cin>>op; switch(op){ case 1: system ("cls"); cout<<" ***********************************************\n"; cout<<" * Cadastro de moradores *\n"; cout<<" ***********************************************\n"; cout<<"\nCadastre Quantos Moradores Quiser\n"<<endl; do{ cout<<"Cadastrando morador -> "<<cont+1<<"\n\n"; cout<<"Nome Do Morador -----: "; fflush(stdin); cin.getline(x[cont].nome,50); cout<<"Idade ---------------: "; fflush(stdin); cin>>x[cont].idade; cout<<"Codigo --------------: "; fflush(stdin); cin>>x[cont].codigo; cout<<"Nome Da Rua ---------: "; fflush(stdin); cin.getline(x[cont].rua,60); cout<<"Numero da casa ------: "; fflush(stdin); cin>>x[cont].numcasa; cout<<"Quer Cadastrar Outro Morador S / N "<<endl; fflush(stdin); cin>>opc; if(cont < 99)cont++; else{ cout<<"só Pode Cadastrar Ate No Maximo 100 Moradores !"<<endl; opc='n'; Sleep(1000); } }while(toupper(opc)!='N'); break; //FIM CADASTRO ( OK ) case 2: cout<<"Digite o nome do morador : "; cin>>nome_m; flag=0; cout<<endl; for(i=0; i < 100 ;i++){ if (strcmp (nome_m,x[i].nome)==0){ cout<<"Nome -----------: "<<x[i].nome <<endl; cout<<"Codigo ---------: "<<x[i].codigo <<endl; cout<<"Numero da casa -: "<<x[i].numcasa<<endl; cout<<"Idade ----------: "<<x[i].idade <<endl; cout<<"Rua ------------: "<<x[i].rua <<endl; flag=1; break; } // fim procura } if(flag==0)cout<<"Morador nao Cadastrado . . . !"<<endl; cout<<" Tecle !\n\n"<<endl; getch(); break; case 3: cout<<"\nRegistrando Pagamento !\n"<<endl; cout<<"Digite o nome do morador "; cin>>nome_m; cout<<"\nDigite o mês e o valor do pagamento de "<<nome_m<<" : "; cin>>mes>>valor_p; flag=0; for (i=0; i < cont ;i++){ if (strcmp (nome_m,x[i].nome)==0){ x[i].pagamento[i][0] = mes;/* na posição 0 dessa matriz será guardado o mes */ x[i].pagamento[i][1] = valor_p;/* na posição 1 dessa matriz será guardado o valor pago */ x[i].pagamento[i][2] = 1;/* na posição 2 dessa matriz será guardado o 1 para quem pagou */ flag=1; break; } } if(flag==0)cout<<"Morador Não Cadastrado . . . !" <<endl; else cout<<"Pagamento Registrado Com Sucesso . . . !"<<endl; Sleep(2000); break; case 4: system("cls"); cout<<"\nListando Todos Os Maradores Cadastrados !\n"<<endl; for(i=0;i<cont;i++){ cout<<"Nome -----------: "<<x[i].nome <<endl; cout<<"Codigo ---------: "<<x[i].codigo <<endl; cout<<"Numero da casa -: "<<x[i].numcasa<<endl; cout<<"Idade ----------: "<<x[i].idade <<endl; cout<<"Rua ------------: "<<x[i].rua <<endl; cout<<"--------------------------------"<<endl; } cout<<" Tecle !"<<endl; getch(); break; case 5: system("cls"); cout<<"Listando Os Pagamentos !\n"<<endl; for(i=0;i<cont;i++){ if(x[i].pagamento[i][2] == 1){/* na terceira coluna da matriz sera (0 não pagou) ou (1 pagou ) */ cout<<"Morador ---> "<<x[i].nome<<" Pagou ---: "<<x[i].pagamento[i][1] <<" Referente Mes "<<x[i].pagamento[i][0]<<endl; } else cout<<"Morador ---> "<<x[i].nome<<" ------: Ainda Não Pagou !"<<endl; } cout<<"\n Tecle !"<<endl; getch(); break; case 6: cout<<"Saindo . . . !"<<endl; break; default : printf("Opcao Invalida . . . !"); Sleep(1000); } }while(op!=6); system ("pause"); return 0; } void indice (){ cout<<"********************************\n"; cout<<"* *\n"; cout<<"* [1] Cadastrar Morador *\n"; cout<<"* [2] Verificar morador *\n"; cout<<"* [3] Verificar Pagamento *\n"; cout<<"* [4] Listar Moradores *\n"; cout<<"* [5] Listar Pagamento *\n"; cout<<"* [6] Sair Do Programa *\n"; cout<<"* *\n"; cout<<"********************************\n"; cout<<"* Escolha uma opcao *\n"; cout<<"********************************\n"; cout<<" "; } -
C++ Verificar moradores cadastrados a
devair1010 respondeu ao tópico de WilliamNascimento em C/C#/C++
@Renaldo Alves o que TablePaje ? facebook ? -
@Filipe Henriques de Paiva o c /c++ é uma linguagem muito boa para criação de aplicativos e banco de dados , mas para usar a parte gráfica dele é muito difícil , pois precisa instalar bibliotecas extras , como a Allegro ou Graphics ou SFML2 , mas essa instalação é bem complicada e costumam não funcionar , e mesmo que se consiga colocar uma delas funcionando mesmo assim não será fácil usa-las , então se você quer criar jogos você pode usar a IDE netbeans que é em java ou a IDE PYCharm com phyton , mas também precisa muito estudo para conseguir alguma coisa , então um programa que é bem fácil de usar para criar jogos é o Blitz Basic 3D , pois com ele pode se criar gráficos 2D e 3D e importação de imagens são fáceis de se conseguir , e depois do jogo pronto ele cria um executável , e também fácil de aprender , pois ele usa a linguagem basic , e tem uma boa decumentação que vem junto com o programa .
-
@MARCELOUGUSTO você colocou igual no lugar de diferente e ou no lugar de and , no while , então creio que seria assim : #include <stdio.h> #include <stdlib.h> int main(){ int num; float res=1; char op; printf("3\n"); do{ scanf("%d", &num); scanf("%c", &op); if(op=='*' && num>=1 && num<=9)res=(res*num); if(op=='/' && num>=1 && num<=9)res=(res/num); }while(op!='*' && op!='/'); printf("%.1f", res); return 0; } mas pelo enunciado precisaria fazer mais alguma coisa .
-
VisualG Algoritmo de Vetor Visualg
devair1010 respondeu ao tópico de LTheLordh em Programação - iniciantes
@LTheLordh você precisa de mais uma variável para indicar a posição do menor e outra para indicar a posição do maior e na hora que achar o menor elemento dentro do se você atribui à variável posicao_do_menor o valor do contador , e para o maior também a mesma coisa , assim no final na hora de imprimir você coloca essas variáveis . mas pelo enunciado você precisa também imprimir o conteúdo do vetor depois que ele foi preenchido pelo usuário . e para isso você pode usar um laço de repetição que pode ser o para indo de 1 ate 10 e dentro dele imprima o valor que está no vetor . -
@Willy Marinho nesse primeiro , você vai precisar usar vetores , então coloque um vetor do tipo iinteiro para as idades com umas 100 posições , em seguida coloque um laço de repetição que pode ser o do / while e dentro dele use o comando scanf para pegar os valores das idades , sendo que cada valor será armazenado no vetor na posição indicada por um contador que precisa ser inicializado com valor zero e a cada idade lida incremente o contador e nesse caso esse contador só poderá ir até 99 , e esse loop se repetirá enquanto a idade digitada for diferente de zero , e depois desse loop você terá a quantidade de idades informadas , então use um laço for para calcular a soma das idades que estão armazenadas no vetor idades , e em seguida divida o resultado da soma pelo valor de cont-2 , assim você terá a média das idades informadas , e o enunciado não pede , mas você pode imprimir o resultado na tela para saber se está certo . então faça o código e poste aqui para podermos ver como está e em que podemos ajudar . e na hora de postar use o botão <> que está lá na barra de ferramentas da janela de postar , para que seu código não fique faltando nenhum caractere .
-
@Lara Figueiredo na linguagem c para imprimir números e strings ou caracteres precisa informar ao programa o tipo desses dados , e para isso usa se o %d ou % i para imprimir números inteiros e %s para imprimir strings e % . 2f para imprimir float e %c para imprimir apenas um caractere , e isso fica posicionado dentro das aspas duplas , e então depois da vírgula coloca se os valores referentes aos dados que se quer imprimir na tela , e no caso o i+1 se refere a um número inteiro que provavelmente seja o valor da variável de controle do laço for desse código e o 167 é o código ASCII do caratere que representa aquele zero que fica em cima do número quando se quer escrever primeiro ou segundo , etc. . . e o j+1 também provavelmente seja o valor da variável j do outro laço for e o outro 167 é igual ao outro 167 anterior e esse último 167 também é a mesma coisa e é para representar que é a segunda matriz B
-
C Armazenar e mostrar em tela compromissos digitados pelo usuário
devair1010 respondeu ao tópico de Wendel Duarte Silva em C/C#/C++
@Wendel Duarte Silva você esqueceu de colocar em qual posição do vetor está armazenando e imprimindo os dados , e também precisa organizar melhor o código , então seu código com algumas modificações ficaria assim : #include <stdio.h > #include <conio.h > #include <ctype.h > #include <stdlib.h> #include <string.h> #include <windows.h> #define TAM 200 typedef struct{ int hora; int minutos; int segundos; } Horario; typedef struct{ int dia; int mes; int ano; } Data; typedef struct{ char descricao[50]; Horario horario_compromisso; Data data_compromisso; } Compromisso; int i,j,cont; char meses[12][10]={"Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho", "Agosto","Setembro","Outubro","Novembro","Dezembro" }; Compromisso vet[TAM]; /* 0 1 2 3 4 5 6 7 8 */ typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY, LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = 9/*BLACK*/;/*pode ser o numero ou o nome da cor*/ static int __FOREGROUND = LIGHTGRAY; void textcolor (int letras, int fundo){/*para mudar a cor de fundo mude o background*/ __FOREGROUND = letras; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letras + (__BACKGROUND << 4)); } /* y = linha de 0 a 24 , x = coluna de 0 a 80 */ void gotoxy(int x, int y){/*imprimir na linha e coluna desejada */ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } int som(int f){ Beep(f,150);/* primeiro a frquência depois o tempo de duração do som */ return 0; } void ler(Compromisso a[TAM]); /*//Funcao de leitura dos compromissos*/ void imprime(Compromisso a[TAM],int conti); /*//Funcao que imprime os compromissos*/ char mover(); int main(){ int m=0,a,cont_mes=0,cont_ano=0; int op; textcolor(14,0); system("cls"); do{ textcolor(10,0); system("cls"); for(i=0;i<52;i++){ gotoxy(i+8,00);printf("%c",205); gotoxy(i+8,10);printf("%c",205); gotoxy(i+8,12);printf("%c",205); if(i<13){ gotoxy( 8,i);printf("%c",186); gotoxy(60,i);printf("%c",186); } } gotoxy( 8,00);printf("%c",201); gotoxy( 8,12);printf("%c",200); gotoxy(60,00);printf("%c",187); gotoxy(60,12);printf("%c",188); gotoxy( 8,10);printf("%c",204); gotoxy(60,10);printf("%c",185); textcolor(14,0); gotoxy(10, 2);printf("0 - Sair Do Programa" ); gotoxy(10, 3);printf("1 - ler Compromisso" ); gotoxy(10, 4);printf("2 - mostrar Compromissos" ); gotoxy(10, 5);printf("3 - Visualizar Compromisso"); gotoxy(10, 6);printf("4 - Outras opções"); gotoxy(10, 7);printf("5 - Outras opções"); gotoxy(10, 8);printf("6 - Outras opções"); textcolor(11,0); for(i=0;i<7;i++){ gotoxy(10,i+2); printf("%c",i+48); } gotoxy(10,11);printf("Escolha Uma Opcao : "); scanf("%d",&op); switch(op){ case 0: textcolor(14,0); gotoxy(10,14); printf("Saindo Do Programa . . . !\n\n"); Sleep(100); som(400); Sleep(200); textcolor(7,0); exit(0); case 1: ler(vet); break; case 2: imprime(vet,cont_ano); break; case 3: visualizar_compromisso(vet); break; /* . . colocar as outras opções . . */ default: printf("Opcao Invalida . . . !"); Sleep(1000); } }while(op!=0); } void ler(Compromisso a[TAM]){ /*//Lendo os dados dos compromissos*/ char op; int p,q,col=44; do{ textcolor(10,0); system("cls"); printf("===== Lendo Os Dados Dos Compromissos =====\n"); printf("Descreva o seu compromisso "); fflush(stdin); gets(a[cont].descricao); printf("\nSobre o horario do compromisso\n\n"); printf("Hora -------: "); fflush(stdin); scanf("%d",&a[cont].horario_compromisso.hora); printf("Minuto -----: "); fflush(stdin); scanf("%d",&a[cont].horario_compromisso.minutos); printf("Segundo ----: "); fflush(stdin); scanf("%d",&a[cont].horario_compromisso.segundos); printf("\nSobre a data do compromisso\n\n"); printf("Dia --------: "); fflush(stdin); scanf("%d",&a[cont].data_compromisso.dia); printf("Mes --------: "); fflush(stdin); scanf("%d",&a[cont].data_compromisso.mes); printf("Ano --------: "); fflush(stdin); scanf("%d",&a[cont].data_compromisso.ano); textcolor(11,0); printf("\nQuer Cadastrar Outro Compromisso S / N "); op=mover(); if(cont<200)cont++;/* para cadastrar mais , mude esse valor e o valor de TAM */ else{printf("só Pode Cadastrar No Maximo 200 Compromissos . . . !"); op='n'; Sleep(1000); } }while(toupper(op)!='N'); } void imprime(Compromisso a[TAM],int conti){ int i; textcolor(15,9); system("cls"); /*//Função printando os compromissos do ano e mes digitado*/ for(i=0;i<cont;i++){ printf("\n Compromisso %d\n\n",(i+1)); printf("O compromisso %s , ",a[i].descricao); printf("será As %d Horas , %d Minutos e %d Sgundos\n", a[i].horario_compromisso.hora , a[i].horario_compromisso.minutos , a[i].horario_compromisso.segundos ); printf("Do Dia %d Do Mes %d e Do Ano De %d\n", a[i].data_compromisso.dia , a[i].data_compromisso.mes , a[i].data_compromisso.ano ); } printf("\n\n Tecle !"); getch(); } char mover(){ int p=0,col=40,q; char op; do{ gotoxy(col,15); if(col==77)q=1; else if(col==40)q=0; if(p==0)printf(" | "); else if(p==2)printf(" - "); if(q==0){/* vai p/ direita */ col++; if(p==1)printf(" / "); else if(p==3){ printf(" %c ",92); p=-1; } } else{/*vai p/ esquerda */ col--; if(p==1)printf(" %c ",92); else if(p==3){ printf(" / "); p=-1; } } p++; Sleep(100); }while(! kbhit());/* repete enquanto não teclar */ op=(char)getch(); return op; } void visualizar_compromisso(Compromisso vet[TAM]){ int m,a,flag; char op; do{ textcolor(12,15); system("cls"); flag=0; printf("\nDigite o mes para visualizar os compromissos\n"); printf("totais do ano e mes digitado "); do{ flag=0; scanf("%d",&m); if(m<1 || m>12){ flag=1; printf("O Mes só Pode Ser De 1 Ate 12 !\n"); } }while(flag==1); printf("Digite o ano para visualizar os compromissos\n"); do{ flag=0; scanf("%d",&a); if(a<1){ flag=1; printf("O Ano Nao Pode Ser Menor Que 1 !\n"); } }while(flag==1); for(i=0;i<cont;i++){ if(m==vet[i].data_compromisso.mes && a==vet[i].data_compromisso.ano){ printf("\n Compromisso %d\n\n",(i+1)); printf("O compromisso %s , ",vet[i].descricao); printf("será As %d Horas , %d Minutos e %d Sgundos\n", vet[i].horario_compromisso.hora , vet[i].horario_compromisso.minutos , vet[i].horario_compromisso.segundos ); printf("Do Dia %d Do Mes %d e Do Ano De %d\n\n", vet[i].data_compromisso.dia , vet[i].data_compromisso.mes , vet[i].data_compromisso.ano ); flag=1; break; } } if(flag==0) printf("\n\nNenhum compromisso no Mes De %s Do Ano De %d digitado !\n\n",meses[m-1],a); printf("Quer Pesquisar Outro Compromisso S / N "); op=mover(); }while(toupper(op)!='N'); } -
@JoseCicrano pelo que já estudei sobre o c / c++ e outros não vi nenhuma referencia à criação desses arquivos .
-
C++ Verificar moradores cadastrados a
devair1010 respondeu ao tópico de WilliamNascimento em C/C#/C++
@WilliamNascimento você quer que quem já pagou seja identificado ? para isso você pode colocar uma matriz de char com duas posições , assim na primeira posição você armazena o nome de quem pagou e na segunda posição você guarda a informação , por exemplo , coloque o valor zero para quem ainda não pagou e coloque 1 para quem já pagou , assim na hora de verificar quem já pagou você verifica se determinado nome na matriz na segunda posição é 1 ou 0 , e se você puder / quiser poste seu código para podermos ver como está e em que podemos ajudar . -
E ai galera, meu primeiro tópico, preciso de um auxílio de vocês..
devair1010 respondeu ao tópico de Rhander França em C/C#/C++
@Rhander França você coloca um laço de repetição que pode ser o do / while , e dentro dele a q_d_candidatas você coloca um contador e a cada candidata você incrementa o contador , assim no final você saberá a quantidade de candidatas imprimindo o valor dessa variável , e também as notas que precisam ser armazenadas em um vetor sendo um para cada nota , assim int nota1[100]; e outro com nota2 e outro com nota3 , e para cada candidato você pega as três notas e coloca no vetor adequado , o mesmo para os juízes , e dentro do loop também , você verifica qual a menor nota , e a maior soma das notas , e ainda dentro do loop imprima as três notas e a maior soma , mas não posso te dar o código pronto pois é contra as regras do fórum , então faça o código e poste aqui para podermos ver como está e em que podemos ajudar . -
@JoseCicrano com c++ você pode criar um programa que grava arquivos flash , mas isso é bem avançado e para criar um programa desses demoraria muito tempo , melhor usar um programa já pronto para isso , um vídeo no youtube que explica como usar o powerpoint para gravar arquivo flash .
-
@Bcam para postar seu código é melhor usar o botão <> que está lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres como os [ i ] que sumiram do seu código , e seu código está bom , a lógica não está muito boa , então seu código com algumas modificações poderia ser assim : #include <stdio.h> #include <stdlib.h> int main(){ int vet_m[3],vet_al[3],i,menor,maior=0,cont,cont2; for(i=0;i<3;i++){ printf("insira a matricula do aluno -: "); scanf("%d",&vet_m[i]); printf("insira a altura do aluno ----: "); scanf("%d",&vet_al[i]); if(i==0)menor=vet_al[i]; if(maior < vet_al[i]){maior=vet_al[i];cont=i;} if(menor > vet_al[i]){menor=vet_al[i];cont2=i;} } printf("\n"); printf("altura do maior aluno -----: %d\n" ,maior ); //mostrar a matricula da posição certa. printf("matricula do maior aluno --: %d\n\n",vet_m[cont] ); printf("altura do menor aluno -----: %d\n" ,menor ); printf("matricula do menor aluno --: %d\n\n",vet_m[cont2]); system("pause"); }
-
Pascal Porcentagem no pascal, aluno com 25% de falta esta reprovado cargoraria 60
devair1010 respondeu ao tópico de SKYLPHES em Programação - outros
@SKYLPHES você faria do mesmo jeito que se estivesse fazendo no caderno e com um lápis , usando a matemática a regra de três , que seja assim : 100 % ----- 60 horas 100 % ----- 25 dias 25 % ----- X 25 % ----- X X = 25 * 60 X = 25 * 25 ------------- ----------- 100 ou 100 X = 1500 X = 625 --------- --------- 100 100 X = 15 horas X = 6,25 dias então você coloca uma variável para o total de horas se for em horas ou total de dias se for em dias , e a variável X para o resultado , e faz a substituição de acordo com o que está aí em cima , assim no final X será a porcentagem de faltas . outro modo seria multiplicar o total de horas ou dias por 0.25 ; faça seu código e poste aqui para vermos como está e em que podemos ajudar . -
@Icaroms seu código está bom , mas você esqueceu de colocar em qual posição do vetor você está armazenando os dados , e também você colocou as variáveis endereco e tiplano como char simples e na hora de fazer a leitura dessas variáveis você colocou para ler string , e quando vai imprimir vai imprimir string e é um char dá erro e o programa fecha . . . ! , então seu programa com algumas modificações poderia ser assim : #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <string.h> #define TAM 3 /* 0 1 2 3 4 5 6 7 8 */ typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY, /* nome das cores */ LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS; /* 9 10 11 12 13 14 15 */ static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/ static int __FOREGROUND = LIGHTGRAY; void textcolor (int letras, int fundo){/*para mudar a cor de fundo mude o background*/ __FOREGROUND = letras; __BACKGROUND = fundo; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), letras + (__BACKGROUND << 4)); } /* y = linha de 0 a 24 , x = coluna de 0 a 80 */ void gotoxy(int x, int y){/*imprimir na linha e coluna desejada */ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } int som(int f){ Beep(f,150);/* primeiro a frquência depois o tempo de duração do som */ return 0; } int i,cont; typedef struct DadosPaciente{ char nome[30]; int sus; char endereco[30]; float contato , cpf; char tiplano[30]; }tDadosPaciente; tDadosPaciente Id[TAM]; void leitura (/*tDadosPaciente *Id*/){ char op; textcolor(10,0); printf ("Tamanho maximo pre-definido para ate 3 cadastro."); do{ printf ("\n\nNome do Paciente -----: "); fflush (stdin ); scanf ("%s", &Id[cont].nome ); printf ("CPF do Paciente ------: " ); fflush (stdin ); scanf ("%f", &Id[cont].cpf ); printf ("N SUS do Paciente ----: " ); fflush (stdin ); scanf ("%d", &Id[cont].sus ); printf ("Endereco do Paciente -: " ); fflush (stdin ); scanf ("%s", &Id[cont].endereco ); printf ("Contato do Paciente --: " ); fflush (stdin ); scanf ("%f", &Id[cont].contato ); printf ("Plano do Paciente ----: " ); fflush (stdin ); scanf ("%s", &Id[cont].tiplano ); printf ("Deseja Cadastrar Mais um Paciente (S/N)? "); op=getche( ); if(cont<3)cont++;/* cont se refere a quantidade de posições no struct , nesse caso so pode ate 3*/ else op='n' ; }while (toupper(op) == 's' ); printf("\n\n" ); textcolor(14,0 ); // acho que esse while nao vai funcionar, ele sempre vai ter o mesmo numero p i } void exibe_tela (/*tDadosPaciente *Id*/){ textcolor(15,0 ); int op=0,p=0 ; for (i=0;i<cont;i++){ printf ("Nome --------------: %s \n", Id[i].nome ); printf ("CPF ---------------: %.2f\n", Id[i].cpf ); printf ("Numero SUS --------: %d \n", Id[i].sus ); printf ("Endereco ----------: %.2f\n", Id[i].endereco); printf ("Contato -----------: %.2f\n", Id[i].contato ); printf ("Plano do Paciente -: %s\n\n", Id[i].tiplano ); } printf(" Tecle" ); do{ gotoxy(10,24 ); if (p==0)printf("|" ); else if(p==1)printf("/" ); else if(p==2)printf("-" ); else if(p==3)printf("%c",92); p++ ; if(p>3)p=0 ; if(kbhit())op = getch( ); Sleep(100 ); /*som(p*300+500 );*/ }while(op == 0 ); textcolor(14,0 ); system("cls" ); } int main(){ int op; do{ textcolor(14,0); gotoxy(10,2);printf ("0 - Sair" ); gotoxy(10,3);printf ("1 - Cadastrar Novo Paciente\n"); gotoxy(10,5);printf ("Escolha uma opcao ! " ); textcolor(11,0 ); gotoxy(10,2);printf("0" ); gotoxy(10,3);printf("1" ); gotoxy(30,5 ); scanf ("%d", &op ); textcolor(14,0 ); switch (op){ case 1 : leitura( ); exibe_tela( ); break ; case 0 : textcolor(15,0); gotoxy(10,7); printf ("Obrigado pela visita "); for(op=0;op<10;op++){ printf(". " ); Sleep(150 ); som(op*200+500 ); } printf("!" ); Sleep(300 ); exit (0 ); break ; default : textcolor(15,0 ); printf ("Opcao Invalida . . . ! Tecle"); getch( ); break ; } }while ( op != 0 ); return 0 ; }
-
@Usu_ario na linguagem c , para gerar números aleatórios você usa o comando srand(time(NULL)); só uma vez no inicio da função main ,e com a biblioteca math.h , para que os números não sejam os mesmos toda hora , e depois coloque esse comando a=rand()%10+1; assim serão gerados números de hum até 10 , e para criar um vetor você coloca uma variável e dentro dos colchetes a quantidade de posições que quer , pode ser inteiro int var[10]; e então coloca o número gerado no vetor , então para gerar os números você coloca o comando rand dentro de um laço de repetição que pode ser o for , indo de zero até enquanto for menor que 10 , os números de 11 até 20 e 21 até 30 são do mesmo jeito , precisando mudar apenas o valor depois sinal de mais aí em cima . então faça e poste seu código para vermos em que podemos ajudar .
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