-
Posts
6.298 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
O post de devair1010 em exercicio em c - escala foi marcado como solução
@Laryssa Silva alguns erro de digitação
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> float FL, KL; // não é bom usar variáveis Globais // a temperatura terá ponto decimal , ~por isso float float CONVKF(int K, int F)// aqui faltou o tipo da segunda variável // por receber que dois valores ? basta HUM ! // e void não retorna nada { int ret = 0; // { 273K - 32F, 373K - 212F}// para que serve esse bloco ? if (K < 0) { //CONVKF = 0;// esse símbolo <- é do VisuaLG 3.0 //CONVKF é o nome de uma função e nela não se pode armazenar nenhum vaLor ret = 0; } else { //CONVKF < -1; ret = 1; F < -(5 * 212 - 9 * (373 - K)) / 5; } return ret; } int main() { scanf("%d", &KL); printf("\n"); if (CONVKF(KL, FL) == 0) {// o simboLo de Comparação na Linguagem c é dois sinais de igualdade == // e por que enviar dois números ? pegou só hum ! printf("Impossivel calcular, temperatura Kelvin negativa!"); } else { printf("A correspondente temperatura na escala Fahrenheit eh %.2f\n", FL);// assim FL será zero como foi decidido na criação // dessa variáveL , lá no início antes da main } printf("\n\n\n"); return 0; }
-
O post de devair1010 em EXERCICIO EM C - 2º e o 4º maior valores foi marcado como solução
@Laryssa Silva Quando estamos começando é fáciL esquecer de adicionar os operadores certos nas funções , e ali você esqueceu de colocar aquele & comerciaL , que vem de endereço , antes da variáveL no scanf ,
while( i < 5 ) { printf("Numero[%d]",i+1); scanf("%d",&vet[i]); i++; } só não precisa colocar esse & nas variáveis do tipo string , pois elas já tem o endereço .
-
O post de devair1010 em Preciso criar algo para controle de estoque foi marcado como solução
@G7 log um aplicativo para controle de estoque , não é uma coisa muito difícil de se fazer , mas também não é assim tão fácil , principalmente para quem não tem experiência ou tem pouco conhecimento , e mesmo que consiga fazer um que funcione , será pouco provável que atenda as necessidades de uma empresa , que precisa de algo que se possa confiar , e o primeiro aplicativo que alguém faça , com certeza terá muitos bug's e erros e terá que ficar consertando alguma coisa aqui e outra ali , e isso será um árdua tarefa , mas a título de aprendizado é válido , e depois de muito estudar programação e quando tiver muito conhecimento , aí faça seu aplicativo , enquanto isso ele pode usar um aplicativo que já existe no mercado e que já foi testado muito e aprovado , que faz parte dos aplicativos comerciais , mas se você quiser tentar assim mesmo , então poste os códigos que você já tenha feito sobre esse aplicativo e ajudaremos .
-
O post de devair1010 em Preciso de ajuda com um código em C++, dúvida sobre comandos foi marcado como solução
@mAYBEE Qual o seu nível de conhecimento sobre essa Linguagem c++ de programação ? , pois a Linguagem C++ é bem diferente da Linguagem c , pois ela é mais moderna e avançada e por isso contém muitos outros comandos que para usufruir de tais comandos vai precisar de um compilador também moderno tipo o visual studio da Microsoft , pois esses compiladores mais populares como o
codeblock e Dev c++, Falcon , e outros desse tipo , e outros desse tipo não tem atualizações muito recentes , para isso , usando o C++11 ou superior , e isso facilita e ajuda na programação , mas se você fizer o código usando os comandos da Linguagem c mesmo , o c++ vai aceitar esses comando e funcionar normalmente como se fosse em c mesmo , apenas que você terá mais trabalho , e a propósito do seu código , você pode dizer alguma coisa sobre o que você quer fazer ? , esse começo que você inseriu está correto , usou a biblioteca do C++ , mesmo , que é a
#include <iostream> para entradas e saídas de dados , e o
using namespace std; que é muito útil , pois assim você não vai precisar ficar digitando aquela palavra std , a todo momento , . . . . ! , , , * = x , . .
-
O post de devair1010 em Preciso de ajuda com um código em C++, dúvida sobre comandos foi marcado como solução
@mAYBEE Qual o seu nível de conhecimento sobre essa Linguagem c++ de programação ? , pois a Linguagem C++ é bem diferente da Linguagem c , pois ela é mais moderna e avançada e por isso contém muitos outros comandos que para usufruir de tais comandos vai precisar de um compilador também moderno tipo o visual studio da Microsoft , pois esses compiladores mais populares como o
codeblock e Dev c++, Falcon , e outros desse tipo , e outros desse tipo não tem atualizações muito recentes , para isso , usando o C++11 ou superior , e isso facilita e ajuda na programação , mas se você fizer o código usando os comandos da Linguagem c mesmo , o c++ vai aceitar esses comando e funcionar normalmente como se fosse em c mesmo , apenas que você terá mais trabalho , e a propósito do seu código , você pode dizer alguma coisa sobre o que você quer fazer ? , esse começo que você inseriu está correto , usou a biblioteca do C++ , mesmo , que é a
#include <iostream> para entradas e saídas de dados , e o
using namespace std; que é muito útil , pois assim você não vai precisar ficar digitando aquela palavra std , a todo momento , . . . . ! , , , * = x , . .
-
O post de devair1010 em Um programa que gera números primos a de um limite superior estabelecido foi marcado como solução
@Joel Martins esse título está confuso , e no seu código está tentando comparar a variável b com ele mesmo , e ele nem foi inicializado , assim o resultado será uma surpresa , e parece me que estas tentando descobrir se o número é inteiro ou float , e não precisa , porque na hora de pegar algum valor usando scanf , que tem entrada formatada , e o %d significa que espera receber um valor do tipo int , e caso seja inserido um valor de outro tipo , o compilador vai rejeitar ele e mostrar um bela mensagem de erro , finalizando a execução do código , e caso seja gerar números de um limite inicial até um limite final , então poderá ser assim :
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> int main() { int limite , a = 2, b=0, c=0,aux; printf("Insere um limite inicial --> "); scanf("%d", & a); // com esse formato scanf só aceita inteiro , e nada além printf("Insere um limite final --> "); scanf("%d", &limite); // se inserir valor diferente de int vai dar ERRO a = abs(a); // só vai usar numeros positivos limite = abs( limite ); // só vai usar numeros positivos if (a > limite) // se limite inferior maior que superior { // inverte o valor dessas duas variáveis aux = a; a = limite; limite = aux; } if (a == 1)a++; // o número 1 não é primo , excluir ele do { // todos os números entre os limite e inclusive eles b = 0; // b será usado como contador de primos for (int c = 1; c <= a; c++) // percorre todos { // testando se é divisível if (a % c == 0)b++; // b eh o total de divisores } if( b < 3 )printf("%4d\n", a); // para imprimir em colunas de até quatro digitos a++; } while (a < limite); return 0; }
-
O post de devair1010 em Chave Torx T8 com furo no meio abre meu controle Redragon Saturn G807? foi marcado como solução
@Alexandre Muniz o melhor mesmo é recorrer a garantia , e eles te darão um controle novo bom e funcionando bem , sem precisar abrir e nem consertar nada , pois esses controles se danificam facilmente e geralmente não tem jeito de consertar nada neles , por que você acha que o botão está afundando ? , muito provavelmente a placa onde fica os componentes dele é bem fina e ao pressionar ela entortou ou quebrou , e assim você até pode tentar consertar usando cola tipo superbonder e um pouco de talco , assim a cola seca rápido e fica bem resistente , e já para abrir ele pode ser com essa chave torx com furo no meio mesmo , ou até mesmo com uma chave de fenda que seja do tamanho da abertura na cabeça desse parafuso e para isso quebre aquele pino que tem no meio .
-
O post de devair1010 em Iniciando com Python - Dicas foi marcado como solução
@lucasfbranco a Linguagem C++ é muito extensa e ela não é igual a linguagem C , apenas que a linguagem c++ aceita os comandos da linguagem c , mas no python é quase a mesma coisa , também tem lá os comandos , que são bem parecidos com essas aí , e fazem praticamente as mesmas coisas , e um bom IDE , seria o pycharm , ele é bem pesado e por isso precisa de um máquina moderna e atualizada , e depois de instalar precisa adicionar os import's , tipo o pygame , e outros . . . , e o compilador python 3.8 , e fazer a configuração no IDE de qual compilador usar , apontando o caminho lá no settings , ctrl + alt +s , e no youtube tem aulas grátis de python com o professor Guanabara nesse link :
https://www.youtube.com/watch?v=S9uPNppGsGo
-
O post de devair1010 em Recomendações de Pc por R$2600 foi marcado como solução
@Vaziu aqui uma configuração para um bom pc :
processador intel g5400 R$ 436,00 lga 1151 https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=96700 placa gigabyte ga h110m-s2h lga 1151 R$ 380,00 https://www.kabum.com.br/produto/115740/placa-m-e-gigabyte-ga-h110m-s2h-intel-lga1151-micro-atx-ddr3 memoria corsair R$ 280,00 https://www.kabum.com.br/produto/110986/mem-ria-corsair-8gb-2400mhz-ddr4-c16-cmv8gx4m1a2400c16 ssd gigabyte 240 GB R$ 230,00 https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=101067 gabinete c3tech R$190,00 https://www.kabum.com.br/produto/71071/gabinete-c3tech-gamer-atx-sem-fonte-preto-mt-g50bk fonte corsair vs500 500W R$ 400,00 https://www.kabum.com.br/produto/114884/fonte-corsair-vs500-500w-80-plus-cp-9020223-br sem frete -> R$ 1916,00
-
O post de devair1010 em Estou com dificuldade para resolver este exercício com acumulador foi marcado como solução
@Kaue Almeida creio que usar o Loop do / while seria melhor , e evitando repetir três Vezes a mensagens e a Leitura , e seu código com algumas modificações poderia ser assim :
#include <stdio.h> #include <stdlib.h> #define cls system("cls"); int main() { int numero, operacao=1, acumulador=0; do{ printf("digite um numero inteiro: "); scanf("%d", &numero); if(numero == -1)operacao *= -1; if( numero > 0 ) { if( operacao > 0 ) acumulador += numero; else acumulador -= numero; } }while( numero != 0 ); cls printf("Valor Final do Acumulador -> %d\n",acumulador); return 16; }
-
O post de devair1010 em retirar elementos de uma lista foi marcado como solução
@Cristina2000 dois erros , primeiro você colocou a opção , no if , de retirar os números pares , pois mod 2 igual a zero é par , então coloque , diferente ( != ) , mas mesmo assim ainda há outro erro , pois a Lista diminui a cada número deletado , e assim no final há erro no tamanho da lista e comparando números fora de faixa , então creio que seu código com algumas modificações poderia ser assim :
numeros=[1,2,3,4,5,6,7,8,9,10] for c in range(0,10): if c < 5 and numeros[c] % 2 != 0: # a cada numero deletado # a Lista diminui e o Limite # é ultrapassado pois não é mais 10 # e sim 5 del numeros[c] print(numeros)
-
O post de devair1010 em Encontrar menor numero de uma matriz foi marcado como solução
@JoaoE para saber se um valor é menor que outro , você precisa informar esses valores ao compilador , através das variáveis , e ali você não fez isso , pois você pediu uma comparação do conteúdo na posição 0 x 0 da matriz com o valor da variável menor , e isso está certo , mas como você não estipulou nenhum valor para essa variável menor , você não sabe qual o valor que ela tem nesse momento , pois o compilador criou a variável com o nome que você escreveu ali , e para isso ele reservou quatro posições da memória do pc , para guardar os valores referentes a ela , mas ali já havia alguns dados armazenados , e pode ser qualquer valor , e esse valor não sabido é considerado Lixo de memória , assim na hora que ele compara com o primeiro na matriz e assim causa erro , então antes precisa inicializar a variável menor com o primeiro na matriz e depois começar as comparações , e seu código poderia ser assim :
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip> #include <vector> #include <windows.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #define kbhit() _kbhit(); using namespace std; int main() { setlocale(LC_ALL, "portuguese"); //matriz int matriz[2][2], i, j; //comparador int menor, E=1; //lendo valores da matriz for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) { cout << "Digite o valor "<<E<<" da matriz: "; cin >> matriz[i][j]; E++; } menor = matriz[0][0];// inicializar a variável menor , com o valor da primeira posição da matriz //imprimir os valores da matriz for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { cout <<setw(3)<< matriz[i][j] << " "; //menor irá armazenar o menor numero if (matriz[i][j] < menor) { menor = matriz[i][j]; } } cout << endl; } //imprimindo o menor numero cout << "\nO menor numero eh " << menor<<endl; cout << endl<<endl<<" "; return 128; }
-
O post de devair1010 em Problemas ao executar jogo de Damas em C foi marcado como solução
@RVINI88 @RVINI88 esse interrogação que aparece logo na primeira jogada é porque você colocou assim no seu código , ali na função jogador1 , ao adicionar a variável jogador na posição da matriz para onde a pedra irá se mover , e ali essa variável tem dois valores , ou 1 ou 2 , e no Windows 10 esses dois números não corresponde a nenhum caractere da tabela ASCII , e assim ele adiciona uma interrogação para esse valor , e se você especificar que cada jogador corresponda a um desses caracteres que você está usando , @ ou # , ele continuará com esses mesmos caracteres ,
e você usou muitas Linhas para inicializar a matriz com os caracteres que você quer usar , e um outro modo , que gasta menos Linhas poderia ser assim :
#include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <time.h> struct { char jog1[20], jog2[20], ganhador[20]; int cont1, cont2, pont_max; }dama; FILE *historico; void jogador1(char matriz[8][8],char jogador, int oposto) { system("color 79"); int i,j,l,c,li,co,opcao=0,jogador_ASCII; do { system("cls"); if(jogador==1) { jogador_ASCII=64; printf("\n\n---------------- A VEZ E A DO JOGADOR PECA @ ----------\n\n\n\n"); } if(jogador==2) { jogador_ASCII=35; printf("\n\n---------------- A VEZ E A DO JOGADOR PECA # ------------\n\n\n\n"); } printf("\t \t\t 0 1 2 3 4 5 6 7 \n"); for(i=0;i<8;i++) { printf("\n\t\t\t%d ",i); for(j=0;j<8;j++) printf("%c ",matriz[i][j]); } printf("\n\n\t*************** CORDENADA DA PECA **********************"); printf("\n\tLINHA: "); scanf("%d",&l); printf("\n\tCOLUNA: "); scanf("%d",&c); printf("\n\n\t****COORDENADA DA POSICAO QUE A PECA VAI OCULPAR****"); printf("\n\tLINHA: "); scanf("%d",&li); printf("\n\tCOLUNA: "); scanf("%d",&co); if((li+co)%2 == 0) { if((jogador==1&&l<li)||(jogador==2&&l>li)) { printf("linha\n"); if(c-1==co||c+1==co) { if(co==c-1) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; opcao++; } if(co==c+1) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; opcao++; } } if(matriz[l+1][c+1]==oposto) { if(c+2==co) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; opcao++; matriz[l+1][c+1]=0; } } if(matriz[l+1][c-1]==oposto) { if(c-2==co) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; matriz[l+1][c-1]=0; opcao++; } } if(matriz[l-1][c+1]==oposto) { if(c+2==co) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; opcao++; matriz[l-1][c+1]=0; } } if(matriz[l-1][c-1]==oposto) { if(c-2==co) { matriz[li][co] = jogador_ASCII; matriz[l][c] = 0; matriz[l-1][c-1]=0; opcao++; } } } else printf("\n\n\t\t__________MOVIMENTO INVALIDO!!_________\n\t\t_________TENTE NOVAMENTE________\n"); } system("pause"); }while(opcao!=1); } void ganhador(char matriz[8][8]) { int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) { if(matriz[i][j]==2) dama.cont1++; if(matriz[i][j]==1) dama.cont2++; } if(dama.cont1>dama.cont2) { printf("\n\tVENCEDOR........-> %s TOTAL DE PECAS: %d\n\n",dama.jog1,dama.cont1); strcpy(dama.ganhador, dama.jog1); dama.pont_max=dama.cont1; } else { if(dama.cont1<dama.cont2) { printf("\n\tVENCEDOR........-> %s TOTAL DE PECAS: %d\n\n",dama.jog2,dama.cont2); strcpy(dama.ganhador, dama.jog2); dama.pont_max=dama.cont2; } else { printf("\n\tEmpate!\n\t%s: %d\n\t%s: %d\n\n\n",dama.jog1,dama.cont1,dama.jog2,dama.cont2); strcpy(dama.ganhador,"jogo empatado"); dama.pont_max=dama.cont2; } } } } void registro() { fwrite(&dama, sizeof(dama), 1, historico); } void escreve() { rewind(historico); while(fread(&dama, sizeof(dama), 1, historico)==1)//LER A INFORMACAO ATE A ULTIMA. { printf("\nJogador peca preta: %s\n",dama.jog1); printf("Jogador peca branca: %s\n", dama.jog2); printf("Vencedor: %s\n", dama.ganhador); printf("Total de pecas: %d\n\n", dama.pont_max); } } int main(int argc, char *argv[]) { char opcao2; char matriz[8][8] = { { '@' , 178 , '@' , 178 , '@' , 178 , '@' , 178 }, { 178 , '@' , 178 , '@' , 178 , '@' , 178 , '@' }, { '@' , 178 , '@' , 178 , '@' , 178 , '@' , 178 }, { 178 , 0 , 178 , 0 , 178 , 0 , 178 , 0 }, { 0 , 178 , 0 , 178 , 0 , 178 , 0 , 178 }, { 178 , '#' , 178 , '#' , 178 , '#' , 178 , '#' }, { '#' , 178 , '#' , 178 , '#' , 178 , '#' , 178 }, { 178 , '#' , 178 , '#' , 178 , '#' , 178 , '#' }, }; int i,j, jogador=2,oposto=1,opcao=0; dama.cont1=dama.cont2=0; historico=fopen("Historico_dama.bin", "ab+"); do { system("color 79"); printf("\tEscolha uma das op%c%ces abaixo:\n\n",135,228); printf("\t%c A Jogar.\n\t%c B Sair.\n\n"); printf("\tOp%c%co: ",135,198); scanf("%s",&opcao2); system("cls"); switch( toupper( opcao2 ) ) { case 'A' : system("color 79"); printf("\n\n\t\t\tPersistindo o empate o jogo pode terminar por tempo....."); printf("\n\n\n"); printf("\n\n\n\t\t Bom Jogo"); printf("\n\n\n"); system("pause"); system("cls"); system("color 79"); printf("\n\n\t\tINFORME O NOME DO JOGADOR PECA #:\n\n\t\t\t\t");//NOME DOS JOGADORES.. scanf("%s",dama.jog1); printf("\n\n\t\tINFORME O NOME DO JOGADOR PECA @:\n\n\t\t\t\t ");//NOME DOS JOGADORES.. scanf("%s",dama.jog2); int tempo = clock(); while(clock()-tempo<500000000) { jogador = 1; oposto=2; jogador1( matriz,jogador,oposto ); jogador = 2; oposto=1; jogador1( matriz,jogador,oposto ); } system("cls"); system("color 79"); printf("\n\t\t..........O Tempo Acabou...........\n\n\n"); ganhador(matriz); registro(); system("pause"); system("cls"); break; case 'B': system("color 79"); printf("\n\n\n\n\t\t\t FIM DO JOGO\n\n\n\n\n"); exit(0); break; default: system("cls"); printf("Digite A para jogar ou B para sair\n\n\n\n\n"); } }while ( opcao2 == 'A' ); system("PAUSE"); return 16; }
-
O post de devair1010 em Erro na função If/else foi marcado como solução
@adriantuler não é o if nem o else que não funcionam , é o scanf que está escrito errado , e o compilador não percebeu esse erro e não emitiu nenhum alerta sobre isso e assim a função scanf não pega o que foi digitado e por isso não tem com o que comparar e o programa termina sem escrever nada nem do if e nem do else . e seu código poderia ser assim :
#include <stdio.h> int main () { int n; printf("Favor informar idade: "); scanf ("%i",&n ); /*scanf ("%i,n");*/ // co mandô errado // aspas duplas e vírguLa fora do Lugar // falta o & endereço da variáveL if( n < 18 ) // o if está de boa funciona normaL printf("bebida nao liberada\n"); else // o else também está funcionando printf("bebida liberada\n\n\n"); return 8; }
-
O post de devair1010 em Nao estou conseguinfo efetuar o login foi marcado como solução
@Murilo Murilo parece que você está usando o linux , então para adaptar para Windows precisa modificar alguns comandos e seu código modificado poderia ser assim :
#define _CRT_SECURE_NO_WARNINGS // para usar scanf bem #ifdef _WIN32 #include <windows.h> #include <stdio.h> #include <tchar.h> #define cls system("cls"); #define sair exit(128); #define DIV 1048576 #define WIDTH 7 #endif #ifdef linux #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #define cls system(" clear "); #define sair system(" exit "); #endif # include "stdio.h" # include "conio.h" # include <iomanip> # include "stdlib.h" # include "string.h" # include "locale.h" #include <time.h> //#include "pch.h" #include <iostream> #define getch() _getch() # define SIZE 53 // Definição das variáveis char nome[SIZE][50]; char email[SIZE][50]; int datanasc[SIZE]; int cpf[SIZE]; char convidado[SIZE][1]; char especial[SIZE][1]; int op, t, opcaomp, encontrou; int j; int verifica_senha = 0; int verifica_user = 0; char login[10]; char senha[8]; // int status_es [3]; // int status_cv [10]; // int status_pt [40]; int status[53]; int assento[SIZE]; // Definição das variáveis de funções void email_todos();//corrigir erro 675; void incluir(); void excluir(); void listar_livres(); void realizar_sorteio(); void enviar_email();//corrigir erros629; void email_um();//corrigir erro 705; void listar_todos();//corrigir erro line480; int valida_senha(); void gerenciar_visitante();//line198; // Rotina principal int main() { setlocale(LC_ALL, " portuguese "); char ax[11]; do { cls printf(" \n\n\n\n\n\n\n\t\t\t\t\t\t + ======================== ============================================ + "); printf(" \n\t\t\t\t\t\t | | \n "); printf(" \t\t\t\t\t\t\t | xxxx xxxx xxxx xxxx xxxx xxxxxxxxx | \n "); printf(" \t\t\t\t\t\t\t | xxxx xxxx xxxxxx xxxx xxxx xxxx xxxx | \n "); printf(" \t\t\t\t\t\t\t | xxxx xxxx xxxx xx xxxx xxxx xxxx xxxx | \n "); printf(" \t\t\t\t\t\t\t | xxxx xxxx xxxx xx xxxx xxxx xxxxxxxxx | \n "); printf(" \t\t\t\t\t\t\t | xxxxxxxxx xxxx xxxxxx xxxx xxxx | \n "); printf(" \t\t\t\t\t\t\t | xxxxxxxxx xxxx xxxxx xxxx xxxx | \n "); printf(" \t\t\t\t\t\t\t | | \n "); printf(" \t\t\t\t\t\t\t | | \n "); printf("\t\t\t\t\t\t\t\t| UNIVERSIDADE PAULISTA | \n "); printf("\t\t\t\t\t\t | | \n "); printf(" \t\t\t\t\t\t | | \n"); printf(" \t\t\t\t\t\t| PALESTRA DIREITOS HUMANOS |\n"); printf(" \t\t\t\t\t\t| | \n"); printf(" \t\t\t\t\t\t+ ====================================== ============================ + "); printf("escolha "); // Chama função para validar a senha verifica_senha = valida_senha (); printf("\nverifica senha %d\n", verifica_senha); printf("opcaomp = % d\n", opcaomp); if (verifica_senha == 1) { opcaomp = 0; // Setar todos os assentos como livres for (j = 0; j < 52; j++) { status[j] = 0; // 0 - Assento livre -> 1 - Assento ocupado } // Apresenta a tela de menu principal while (opcaomp != 4) { verifica_senha = 1; cls printf(" \n\n\n\n\n\n\t\t\t\t\t\t+======================== ============================================== + "); printf(" \n \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | UNIP - UNIVERSIDADE PAULISTA | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | **** MENU PRINCIPAL **** | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 1 - Gerenciar Visitante | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 2 - Realizar Sorteio | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 3 - Enviar Comunicado por E-mail | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 4 - Sair | \n "); printf(" \t \t \t \t \t \t| | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + \n \n "); printf(" \t \t \t \t \t \t Digite a opção desejada ......: "); fgets(ax, 10, stdin); opcaomp = atoi(ax); switch (opcaomp) { case 1: gerenciar_visitante(); break; case 2: realizar_sorteio(); break; case 3: enviar_email(); break; case 4: printf("\n\n\tSaindo Do Program . . . !\n\n\n"); sair default: printf(" \n \t \t \t \t \t \t \t \t *** Opção Inválida! *** "); getchar(); } // Switch } // while (opcaomp! = 4) } // se (verifica_senha == 1) } while (t != 3 && verifica_senha == 0); } // Main // Função Valida Senha e Usuario int valida_senha() { int i,ac, u,l2,c2,ret=0; char c; char l; u = 0; i = 0; l = 'p'; printf("\naqui na verifica senha\n"); printf("digite enter para terminar\n"); printf(" \n\n\t\t\t\t\t\t USUÁRIO .........: "); while ( ( ac = getch() ) != 13 ) { if (ac == 13)printf("barra ene !\n"); login[u] = (char)ac; printf(" *"); u++; } login[u] = '\0'; printf("\nlogin= %s\n",login); printf("digite enter para terminar\n"); printf(" \n\n\t\t\t\t\t\t SENHA ...........: "); while( ( ac = getch() ) != 13 ) { senha[i] = (char)ac; i++; printf(" *"); } senha[i] = '\0'; printf("\nsenha= %s\n",senha); i = 0; u = 0; l2 = strcmp(login, "adm"); c2 = strcmp(senha, "123"); printf("\n Tecle \n"); if (c2 != 0 || l2 != 0 ) // Senha e usuario Inválida { printf(" \n \n \t \t \t \t \t *** Senha ou Usúario inválido! Tente novamente *** \n \n "); t = t + 1; system(" cor 0c "); getchar(); } else // Senha e Usuario Correta { printf("login e senha corretos\n"); verifica_user = 1; verifica_senha = 1; ret = 1; printf(" Tecle \n"); getch(); } if (t == 3) { // sistema ("cls"); printf(" \n \n \t \t \t \t \t *** Acesso Negado! *** \n \n "); getchar(); } return ret; } // Fim da Função Valida Senha e Usuario // Função Gerenciar Visitante void gerenciar_visitante() { int j, op; j = 0; op = 1; while (op != 5) { system(" cls "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t + ======================== ============================================== + "); printf(" \n \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | UNIP - UNIVERSIDADE PAULISTA | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 1 - Incluir Participante | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 2 - Excluir Participante | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 3 - Listar Lugares Livres | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 4 - Mostrar Todos os Lugares | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 5 - Retornar ao Menu Principal | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + \n \n "); printf(" \t \t \t \t \t \t Digite a opção desejada ......: "); scanf("%d ", &op); switch (op) { case 1: // Incluir o participante incluir(); break; case 2: excluir(); break; case 3: listar_livres(); break; case 4: listar_todos(); break; case 5: break; default: printf(" \n \t \t \t \t \t \t \t \t *** Opção Inválida! *** "); getchar(); break; } // Switch } // enquanto (opcao! = 5) } // Fim da Função Gerenciar Visitante // Função incluir participantes void incluir() { static int linha; int j, encontrou, tc, i, v; linha = 0; v = 0; i = 0; do { encontrou = 0; tc = 0; // Mostrar tela para digitação das informações do participante system(" clear "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t \t *** Cadastro de Participantes *** \n \n \n "); printf(" \n \t \t \t \t \t \t Nome ................................ ...: "); fflush(stdin); scanf("%[^\n]s%*c", nome[linha]); printf(" \n \t \t \t \t \t \t Número do CPF ..........................: "); scanf("%d ", &cpf[linha]); printf(" \n \t \t \t \t \t \t Data de nascimento .....................: "); scanf("%d ", &datanasc[linha]); printf(" \n \t \t \t \t \t \t E-mail .............................. ...: "); fflush(stdin); scanf("%[^\n]s%*c", email[linha]); printf(" \n \t \t \t \t \t \t É convidado do palestrante (S / N)? .....: "); scanf("%[^\n]s%*c", convidado[linha]); printf(" \n \t \t \t \t \t \t Necessita de lugar especial (S / N)? ....: "); scanf("%[^\n]s%*c", especial[linha]); // Verifica assentos reservados e reserva assento disponível system(" clear "); // Assento Especial tc = strcmp(especial[linha], " S "); if (tc == 0) { for (j = 0; j < 3; j++) { if (status[j] == 0) { printf(" \n \n \n \n \n \n \t \t \t \t \t \t Olá %s ", nome[linha]); printf(" \n \n \t \t \t \t \t \t Seu assento é número: % d ", j + 1); printf(" \n \n \t \t \t \t \t \t Esperamos que aproveite a Paletra !!! "); status[j] = 1; cpf[j] = cpf[linha]; getchar(); j = 3; encontrou = 1; op = 0; } } } //outro { // Convidado do Palestrante tc = strcmp(convidado[linha], " S "); if (tc == 0) { for (j = 3; j < 13; j++) { if (status[j] == 0) { printf(" \n \n \n \n \n \n \t \t \t \t \t \t Olá %s ", nome[linha]); printf(" \n \n \t \t \t \t \t \t Seu assento é número: % d ", j + 1); printf(" \n \n \t \t \t \t \t \t Esperamos que aproveite a Paletra !!! "); status[j] = 1; cpf[j] = cpf[linha]; getchar(); j = 14; encontrou = 1; op = 0; } } } //outro { // Participante for (j = 13; j < 52; j++) { // i = pt [j]; if (status[j] == 0) { printf(" \n \n \n \n \n \n \t \t \t \t \t \t Olá %s ", nome[linha]); printf(" \n \n \t \t \t \t \t \t Seu assento é número: % d ", j + 1); printf(" \n \n \t \t \t \t \t \t Esperamos que aproveite a Paletra !!! "); cpf[j] = cpf[linha]; status[j] = 1; getchar(); j = 53; encontrou = 1; op = 0; } } } } if (encontrou == 0) { printf(" *** Todos os assentos estão ocupados! *** "); getchar(); } linha++; printf(" % d % d ", cpf[linha], linha); } while (op == 1); } // Fim da função incluir // Excluir participante liberando o assento void excluir() { int cpfPesquisa; int i; system(" clear "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t \t Informe o CPF do participante que deseja excluir: "); scanf("%d", &cpfPesquisa); for (i = 0; i < SIZE; i++) { if (cpf[i] == cpfPesquisa) { status[i] = 0; cpf[i] = 0; datanasc[i] = 0; i = 54; printf(" \n \n \n \t \t \t \t \t \t \t *** Registro excluído com sucesso! *** "); getchar(); } } } // Fim da função excluir participante // Função Listar lugares livres no auditório void listar_livres() { int j; system(" clear "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t \t *** Lugares Livres *** \n \n \n "); encontrou = 0; // Bandeira para saber se existe pelo menos um assento livre printf(" \n \n \n \t \t \t \t \t \t Assentos Especiais \n \n "); printf(" \t \t \t \t \t \t Fileira A "); for (j = 0; j < 3; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } printf(" \n \n \n \t \t \t \t \t \t Assentos para Convidados do Palestrante \n \n "); printf(" \t \t \t \t \t \t Fileira B "); for (j = 3; j < 13; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } printf(" \n \n \n \t \t \t \t \t \t Assentos para Participantes \n \n "); printf(" \t \t \t \t \t \t Fileira C "); for (j = 13; j < 23; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } printf("\n"); printf(" \t \t \t \t \t \t Fileira D "); for (j = 23; j < 33; j++) { if (status[j] == 0) { printf("% d", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t Fileira E "); for (j = 33; j < 43; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } printf("\n"); printf(" \t \t \t \t \t \t Fileira F "); for (j = 43; j < 53; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } getchar(); } // Função Lista todos os lugares do auditório void listar_todos() { int j; system(" clear "); printf(" \n \n \n \n \t \t \t \t \t \t \t Todos os Lugares \n "); printf(" \t \t \t \t \t \t + ====================================== ============================ + "); encontrou = 0; // Bandeira para saber se existe pelo menos um assento livre printf(" \n \t \t \t \t \t \t \t *** Livres *** \n "); printf(" \n \n \t \t \t \t \t \t Assentos Especiais \n "); printf(" \t \t \t \t \t \t A "); for (j = 0; j < 3; j++) { if (status[j] == 0) { printf("%d", j + 1); encontrou = 1; } } printf(" \n \n \n \t \t \t \t \t \t Convidados do Palestrante \n "); printf(" \t \t \t \t \t \t B "); for (j = 3; j < 13; j++) { if (status[j] == 0) { printf("% d", j + 1); encontrou = 1; } } printf(" \n \n \n \t \t \t \t \t \t Participantes \n "); printf(" \t \t \t \t \t \t C "); for (j = 13; j < 23; j++) { if (status[j] == 0) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t D "); for (j = 23; j < 33; j++) { if (status[j] == 0) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t E "); for (j = 33; j < 43; j++) { if (status[j] == 0) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t F "); for (j = 43; j < 53; j++) { if (status[j] == 0) { printf(" [ % d ] ", j + 1); encontrou = 1; } } // função para ver todos os ocupados printf(" \n \n \n \t \t \t \t \t \t + ============================== ========================= + "); encontrou = 0; // Bandeira para saber se existe pelo menos um assento livre printf(" \n \t \t \t \t \t \t \t *** Ocupados *** \n "); printf(" \n \t \t \t \t \t \t Assentos Especiais \n "); printf(" \t \t \t \t \t \t A "); for (j = 0; j < 3; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 0; } } printf(" \n \n \n \t \t \t \t \t \t Convidados do Palestrante \n "); printf(" \t \t \t \t \t \t B "); for (j = 3; j < 13; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 0; } } printf(" \n \n \n \t \t \t \t \t \t Participantes \n "); printf(" \t \t \t \t \t \t C "); for (j = 13; j < 23; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t D "); for (j = 23; j < 33; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t E "); for (j = 33; j < 43; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t F "); for (j = 43; j < 53; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } getchar(); } void enviar_email() // erro nessa parte { int opM; opM = 1; while (opM != 3) { system(" clear "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t + ======================== ============================================== + "); printf(" \n \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | UNIP - UNIVERSIDADE PAULISTA | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 1 - Todos os Visitantes | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 2 - Escolher Visitante | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | 3 - Retornar ao Menu Principal | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + \n \n "); printf(" \t \t \t \t \t \t Digite a opção desejada ......: "); scanf("%d ", &opM); switch (opM) { case 1: email_todos(); break; case 2: email_um(); break; case 3: break; default: printf(" \n \t \t \t \t \t \t \t \t *** Opção Inválida! *** "); getchar(); } } } void email_todos() { system(" cls "); printf(" \n \n \n \n \n \n \t \t \t \t \t \t + ======================== ============================================== + "); printf(" \n \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | Palestra Direito Humanos | \n "); printf(" \t \t \t \t \t \t | Dr. Ramiro | \n "); printf(" \t \t \t \t \t \t | Contéudo da Palestra: Direitos Humanos | \n "); printf(" \t \t \t \t \t \t | Motivo: Informativo | \n "); printf(" \t \t \t \t \t \t | Data: 25/12/2020 Horário: 18:30 | \n "); printf(" \t \t \t \t \t \t | Local: Unip - Chácara Santo Antônio | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | Resumo | \n "); printf(" \t \t \t \t \t \t | Hoje em dia as pessoas torcem o nariz para palavra | \n "); printf(" \t \t \t \t \t \t | ?? Direitos Humanos ??, pois aqui no Brasil ela sempre | \n "); printf(" \t \t \t \t \t \t | sempre está ligada ao crime e violência e nunca | \n "); printf(" \t \t \t \t \t \t | está ao lado da vítima, mas sim daquela | \n "); printf(" \t \t \t \t \t \t | causaram o Dano. Porém o que ninguém sabe que | \n "); printf(" \t \t \t \t \t \t | na década de 40 em uma reunião em paris, foram | \n "); printf(" \t \t \t \t \t \t | lançados 30 artigos no rastro da segunda guerra | \n "); printf(" \t \t \t \t \t \t | Mundial, pois a falta de punição contra governos | \n "); printf(" \t \t \t \t \t \t | autoritários, trabalho escravo, tortura, discriminação, | \n "); printf(" \t \t \t \t \t \t | fome e pobreza violava todos os dias a vida dos seres | \n "); printf(" \t \t \t \t \t \t | humanos da época. | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + \n \n "); getchar(); } void email_um() { int as; printf(" \t \t \t \t \t \t Escolha o Assento abaixo, Assim o e-mail será enviado para pessoa que está sentada no mesmo. \n "); encontrou = 0; // Bandeira para saber se existe pelo menos um assento livre printf(" \n \t \t \t \t \t \t Assentos Especiais \n "); printf(" \t \t \t \t \t \t A "); for (j = 0; j < 3; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 0; } } printf(" \n \n \n \t \t \t \t \t \t Convidados do Palestrante \n "); printf(" \t \t \t \t \t \t B "); for (j = 3; j < 13; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 0; } } printf(" \n \n \n \t \t \t \t \t \t Participantes \n "); printf(" \t \t \t \t \t \t C "); for (j = 13; j < 23; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t D "); for (j = 23; j < 33; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n"); printf(" \t \t \t \t \t \t E "); for (j = 33; j < 43; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n "); printf(" \t \t \t \t \t \t F "); for (j = 43; j < 53; j++) { if (status[j] == 1) { printf(" [ % d ] ", j + 1); encontrou = 1; } } printf(" \n \t\t \t \t \t \t \t \t Necessário apenas o número do assento \n "); printf(" \t \t \t \t \t \t \t \t Assento ......: "); scanf(" %d ", &as); system(" clear "); if (as > 0 && as < 54) { printf(" \n \n \n \n "); printf(" \n \n \n \n \t \t \t \t \t \t Assento: % d \n ", as); printf(" \t \t \t \t \t \t Email Enviado com Sucesso !!! \n \n "); printf(" \t \t \t \t \t \t Conteúdo: \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + "); printf(" \n \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | Palestra Direito Humanos | \n "); printf(" \t \t \t \t \t \t | Dr. Ramiro | \n "); printf(" \t \t \t \t \t \t | Contéudo da Palestra: Direitos Humanos | \n "); printf(" \t \t \t \t \t \t | Solicitação do Assento: % d | \n ", as); printf(" \t \t \t \t \t \t | Motivo: Para Envio do Informativo | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | Data: 13/12/2018 Horário: 18:30 | \n "); printf(" \t \t \t \t \t \t | Local: Unip - Chácara Santo Antônio | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t | Resumo | \n "); printf(" \t \t \t \t \t \t | Hoje em dia as pessoas torcem o nariz para palavra | \n "); printf(" \t \t \t \t \t \t | ?? Direitos Humanos ??, pois aqui no Brasil ela sempre | \n "); printf(" \t \t \t \t \t \t | sempre está ligada ao crime e violência e nunca | \n "); printf(" \t \t \t \t \t \t | está ao lado da vítima, mas sim daquela | \n "); printf(" \t \t \t \t \t \t | causaram o Dano. Porém o que ninguém sabe que | \n "); printf(" \t \t \t \t \t \t | na década de 40 em uma reunião em paris, foram | \n "); printf(" \t \t \t \t \t \t | lançados 30 artigos no rastro da segunda guerra | \n "); printf(" \t \t \t \t \t \t | Mundial, pois a falta de punição contra governos | \n "); printf(" \t \t \t \t \t \t | autoritários, trabalho escravo, tortura, discriminação, | \n "); printf(" \t \t \t \t \t \t | fome e pobreza violava todos os dias a vida dos seres | \n "); printf(" \t \t \t \t \t \t | humanos da época. | \n "); printf(" \t \t \t \t \t \t | | \n "); printf(" \t \t \t \t \t \t + ====================================== ============================== + \n \n "); getchar(); } else { printf(" \t \t \t \t \t \t Assento Inválido \n "); getchar(); } getchar(); } void realizar_sorteio() { srand(time(NULL)); // escolhe sequencia de numeros aleatorios int valores[] = { 1 , 2 , 3 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 ,38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 }; int n = sizeof valores / sizeof * valores; n = rand() % 53; printf(" \t \t \t \t \t \t \t \t + ================================== == + \n "); printf(" \t \t \t \t \t \t \t \t PARABÉNS !!!! \n "); printf(" \t \t \t \t \t \t \t \t *** Assento: % d *** \n ", valores[rand() % n]); printf(" \t \t \t \t \t \t \t \t Você foi Sorteado !!!!! "); getchar(); }
-
O post de devair1010 em Losango e Triângulo em C foi marcado como solução
@abcabc você pode usar a função gotoxy , que vem da Linguagem PascaL , e adaptada para usar na Linguagem C / C++ , que posiciona o cursor em uma posição da tela , onde escrever , e assim faz o alinhamento , e seu código com muitas modificações poderia ser assim :
#define _CRT_SECURE_NO_WARNINGS // para usar scanf e strcpy bem no visual studio #define cls system("cls"); #include<stdio.h> #include<stdlib.h> #include<math.h> #include<windows.h> void Losango(char a, int); void triangulo(char a, int l); void gotoxy(int, int); int main() { int l, k = 0, op, j, i, p, s; char a = '%'; char cop[4]; // array do { printf(" 1 - LosanGo\n"); printf(" 2 - TrianGuLo\n"); printf(" 3 - Sair do programa\n"); printf(" Digite a opcao(1 ou 2) desejada: "); fgets(cop, 5, stdin); // fgets se adapta melhor , pois mantém o Buffer do teclado Limpo op = atoi(cop); // atoi converte de array para inteiro if( op == 3 )return 512; printf("Digite o numero de linhas:"); fgets(cop, 5, stdin); // fgets se adapta melhor , pois mantém o Buffer do teclado Limpo l = atoi(cop); // atoi converte de array para inteiro switch (op) // switch faz o mesmo que o if e é mais compacto { case 1: // aqui é iguaL ao IF Losango(a,l);// vai para a função adequada break; // no switch precisa para sinalizar o fim do case case 2 : triangulo(a,l);//envia as variáveis para a função por parâmetro break; case 3: printf("saindo do programa !\n\n\n"); // se não colocar esse case 3 o default consider que errou return 512; // sai do programa e volta para o windows default:// verifica se o valor de op corresponde a algum dos case's printf("opcao invaLida !\n"); } } while (op != 3 );// aqui que realmente sairia do programa return 0;// e voltaria para o windows } void Losango(char a, int l) { int q,w,k,j,i,lpc,lpb; w = l/2 + 1; lpc=w; lpb=w; cls gotoxy(0,w); for(j=0; j<w; j++) { gotoxy(j,lpc); printf("%c",a); gotoxy(j,lpb); printf("%c",a); lpc--; lpb++; Sleep(500); // Obsewrvando o Movimento } for(j=0; j<w+1; j++) { gotoxy(j+w,lpc); printf("%c",a); gotoxy(j+w,lpb); printf("%c",a); lpc++; lpb--; Sleep(500); // Obsewrvando o Movimento } int px,py,x; /* variáveis simples */ HANDLE h; /* controle dos dispositivos do pc */ h = GetStdHandle(STD_OUTPUT_HANDLE); /* pega a saída padrão */ CONSOLE_SCREEN_BUFFER_INFO SBInfo; /* informações sobre a buffer da tela */ GetConsoleScreenBufferInfo(h, &SBInfo); /* pega a posição do cursor do console */ px = SBInfo.dwCursorPosition.X; /* pX será a posição da coluna do cursor no console */ py = SBInfo.dwCursorPosition.Y; /* pY será a posição da linha do cursor no console */ gotoxy(0,py+w+2); } void triangulo(char a, int l) { int j,i,k=0; for (i = 1; i <= l; i++) { for (j = 1; j <= i + k; j++) { printf("%c", a); } printf("\n"); k++; } } void gotoxy(int coluna, int linha) { COORD c; c.X = coluna; c.Y = linha; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); }
-
O post de devair1010 em Soma das posições de um vetor - Linguagem C foi marcado como solução
@PenseC na Linguagem c todas as linha terminam com ponto e virgula , menos algumas que precisam das chaves , e assim é fáciL colocar um desses ponto e virgula onde não precisa e até onde não pode , como ali na linha 18 de seu código , e assim o Loop começa e termina ali , e depois ele apenas escreve o valor da soma de dois valores desconhecidos que estão em duas posições do vetor , a saber , a 5 dos dois vetores , pois após o Loop o valor da variável i é igual a 5 . então basta remover esse ponto e vírgula , assim :
for( i=0; i<5; i++) // ; esse ponto e vígula { int soma = v1[i] + v2[i]; printf("A soma v1[%d]+v2[%d] = %d",i,i,soma); }
-
O post de devair1010 em Multiplicao de elementos em c foi marcado como solução
@joao1022 Qual compilador você está usando ? , e aqui no codeblocks , por incrível Que pareça ele deixou passar um erro de syntaxe , que tem np seu código lá no final . nessa Linha :
printf("valor de x:%f"), x ; <- aqui o x está fora dos parenteses printf("valor de x : %.2f", x); <- o comum seria assim com a variável dentro dos parenteses e por algum motivo que desconheço ele compila e funciona normal , mas na hora de escrever o valor de x ele mostra o valor da última variável que recebeu atribuição .
e também essa linha aqui , está bem errada :
menor*maior=x; <- o x que deveria receber o valor da multiplicação x = menor * maior; <- aqui seria o recomendável
-
O post de devair1010 em imprimir primeiro e ultimo nome foi marcado como solução
@Ganeco seu código não está compilando , e esse null , que você colocou no Loop for não funciona dessa forma , geralmente se usa ele com ponteiros , e o resultado final não faz o que se pretende , pois apenas escreve o nome e os sobrenomes ao contrário , então creio que o que você precisa fazer é mover os caracteres da última palavra da string para as posições começando do primeiro caractere depois do primeiro espaço da string , e assim que terminar essa movimentação dos caracteres coloque o finalizador de string '\0' , e assim escreve a string modificada .
aqui como a linguagem c , armazena os caracteres de huma string :
então creio que seu código poderia ser assim :
#include <stdio.h> #include <iomanip> int main() { int x,y,tam; char nome [100]; printf ("digite um nome\n"); fgets(nome,99,stdin); // reserva um espaço no vetor de char // para armazenar o caractere nulo '\0' // finalizador de string's tam = strlen (nome); tam--; x = tam; y = 1; while(nome[x-1] != ' ')x--; // aponta para o primeiro caractere do último nome while(nome[y-1] != ' ')y++; // aponta para o primeiro caractere depois do primeiro espaço da string for(; x<tam; x++ ) // apenas os últimos caracteres da string { nome[y] = nome[x]; // puxa os caracteres do último nome da string // e coloca depois do primeiro espaço da string y++; // incrementa a posição na string , onde colocar o prox caract } nome[y] = '\0'; // marca o final da nova string printf("\nO nome e sobreNome => %s\n\n",nome); system ("pause"); return 512; }
-
O post de devair1010 em Loop for executar uma quantidade de vezes a tabuada foi marcado como solução
@bollabong isso mesmo que o @Lucca Rodrigues disse , e seu código poderia ser assim :
#include <stdio.h> #include <stdlib.h> int main() // isso " int argc, char *argv[] " não tem muita utilidade , a não ser em alguns casos extraordinários { int n,i,r; printf("Digite a tabuada: "); scanf("%d", &n); for(r=1; r<=n; r++) // faltou apenas esse Loop { for(i=1; i<11; i++) { printf("%3d x %2d = %3d\n",r,i,r * i ); // colocando ordenados em colunas } printf("\n"); } system("pause"); return 0; }
-
O post de devair1010 em Comparar string com strings de um vetor foi marcado como solução
@LuizFer17 seria melhor postar todo o código , mas a leitura no arquivo depende de como foi feito a gravação nele , e ali você está gravando apenas o nome do usuário , poderia gravar junto a senha , na hora de salvar no arquivo , você está pegando o nome do usuário , com scanf , e esse só pega os caracteres digitados até encontrar um espaço , e aí termina a leitura , e assim a pessoa só vai inserir o primeiro nome dela , e outra coisa é que na hora de ler no arquivo , você está usando fgets , que le todos os caracteres da linha até encontrar o newline "\n" e pega ele também , e assim na hora de fazer a comparação nunca será igual , pois o nome pego com scanf não tem "\n" e o que o fgets pegou têm "\n" , então se usar scanf para pegar o nome para gravar no arquivo , você pode usar um Loop parecido com esse , para ver se está guardado no arquivo :
na hora de gravar coloque assim no arquivo :
nome1 senha1 nome2 senha2 . . nome10 senha10 usando essa função :
int crtuser() //função para criar um usuário { char id[21],senha[21]; int tam; FILE *logincred; logincred = fopen("login.txt","a"); if(logincred == NULL) logincred = fopen("login.txt","w"); inicio : printf("\nLogin de usuário com seu nome de até 20 caracteres: "); scanf("%s", id); tam = strlen(id); if( tam > 20 ) { printf("Limite de caracteres excedido, tente novamente."); goto inicio; } pega_senha : printf("\nSenha minimo 8 caracteres e maximo 20 : "); scanf("%s",senha); tam = strlen( senha ); if( tam < 8 || tam > 20 ) { printf("Limite de caracteres excedido, tente novamente."); goto pega_senha; } fprintf(logincred,"%s " ,id ); fprintf(logincred,"%s \n",senha); fclose(logincred); } essa aqui para ler no arquivo :
int acess() { char nome[21] , senha[21]; // vinte para o nome ou senha e hum para o \0 da string inicio : int nom=0; printf("nome de usuario "); scanf("%s",nome); log : int logyn=0; printf("senha com 8 caracteres "); scanf("%s",senha); while( scanf(arq,"%s",nome) != EOF ) { if( strcmp( nome, ida ) == 0 ) { nom = 1; break; } } if( strcmp( scanf(arq,"%s",senha ),senha) == 0 ) logyn=1; fclose( logincred ); if( logyn == 1 && senha ==1 ) printf("Login ReaLizado Com Sucesso !\n"); return 1;// retorna 1 informando que o login está certo } else { if( nom == 0 ) { printf("o nome não Cadastrado !\n"); goto inicio; } if(logyn == 0 ) { printf("senha não Incorreta !\n"); goto log; } } return 0; // retorna 0 informando que o login está errado }
-
O post de devair1010 em Dificuldade com variavel char foi marcado como solução
@carlinhos andrade na hora de enviar as string's para a função , conta , você precisa indicar qual string está enviando , e para isso você pode usar hum Loop , e seu código poderia ser assim :
#include <stdio.h> #include <ctype.h> void conta(char *str, int *vog, int *con){ char *s = str; *vog = *con = 0; while(*s){ char c = tolower(*s); if(c >= 'a' && c <= 'z'){ if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'){ *vog += 1; }else{ *con += 1; } } *s++; } } int main() { int v, c; char str[5][100]; int i, vowels, consonants; i = vowels = consonants = 0; int qtd; for (i=0;i<5;i++) { printf ("escreva uma string: "); gets (str[i]); } printf ("\n\nas strings que voce digitou foram:\n"); for (i=0;i<5;i++) printf ("%s\n",str[i]); printf("\n"); for(i=0;i<5;i++) { conta(str[i], &v, &c); printf(" %s Tem : \n",str[i]); printf(" Vogais -----: %3d\n",v); printf(" Consoantes -: %3d\n\n", c); } return 16; }
-
O post de devair1010 em Mover elementos de um vetor foi marcado como solução
@Rodrigombem7 seria interessante se só invés de você mover is números de baixo para cima , você puxasse eles do final para o começo até a posição indicada pelo usuário , mais ou menos assim :
for(int i = 9 ; i > posição; i--)
{
vetor[i] = vetor[i - 1];
}
vetor[ posiao ] = valor;
-
O post de devair1010 em "Esperava um argumento do tipo lógico" função escolha no VisualG foi marcado como solução
@qwerty78987 os compiladores foram criados do jeito de cada um quem os criou , e sendo assim cada hum tem uma ideia do gostaria que ele fizesse , e esse visualG é uma replica do pascal substituindo os símbolos de adição de valores às variáveis , pois no Pascal usa se
variaveL := valor para isso e no visualG usa se
variaveL <- valor , e outras coisas são típicas de cada um , e assim n visualG o comando escolha funciona com valores fixos , e podem ser tanto números inteiro ou caracteres , desde que colocados entre aspas Duplas , e creio que você saiba como consertar seu código , pois você nem pediu ajuda para isso , mas em todo caso aqui está hum modo que seu código com algumas modificações poderia ser :
algoritmo "natacao" //2) Faça um procedimento que recebe a idade de um nadador por parâmetro e //retorna, também por parâmetro, a categoria desse nadador de acordo com a //tabela abaixo: // Idade Categoria // 5 a 7 anos Infantil A // 8 a 10 anos Infantil B // 11-13 anos Juvenil A // 14-17 anos Juvenil B // Maiores de 18 anos Adulto funcao catfuncao(idade:inteiro; categoria:caracter):caracter var cat : caracter inicio se idade > 4 entao escolha idade caso 5 ,6 ,7 cat <- "Infantil A" caso 8, 9, 10 cat <- "Infantil B" caso 11, 12, 13 cat <- "Juvenil A" caso 14, 15, 16, 17 cat <- "Juvenil B" outrocaso cat <- "Adulto" fimescolha senao cat <- "Fora Da Faixa !" fimse retorne cat fimfuncao var idade : inteiro categoria : caracter inicio escreval("Digite a idade do nadador: ") leia(idade) categoria <- catfuncao(idade,categoria) escreval("A categoria é ",categoria) fimalgoritmo
-
O post de devair1010 em Programação de Subrotina C++ foi marcado como solução
@thiagorborin seu código está funcionando , mas tem alguns pontos que precisam melhorar , como os jogos da mega sena , que não podem repetir os números no mesmo jogo , e então seu código corrigido poderia ser assim :
#include<conio.h> #include<stdio.h> //#include<math.h> #include<string.h> #include<ctype.h> #include<stdlib.h> #include<time.h> //escreve();//função que escreve o seu nome na tela //verifica_maiuscula(st);//Mostra na tela quantas letras maiusculas existem na frase //mega_sena();//O usuário informará a quantidade de jogos e a função irá gerar sequencias de 6 números. //verifica_posicao(st,l);//mostra na tela a(s) posições(ão) que a letra digitada a aparece na frase e ao final mostra quantas vezes a letra aparece na frase. //Conta quantas consoantes existem na palavra digitada e retorna o valor. void escreve(char nome[]); void verifica_maiuscula(char frase[40]); void mega_sena(int); void verifica_posicao(char frase[40], char letra); int conta_consoantes(char frase[40]); int main() { srand(time(NULL)); char nome[31],st[30],l; int a,b,c,ordem,q; printf(" seu nome "); fgets(nome,30,stdin); printf("Digite o valor para a "); scanf("%d",&a); printf("Digite o valor para b "); scanf("%d",&b); fflush(stdin); printf("Digite a palavra "); gets(st); printf("Digite a letra "); l=tolower(getche()); printf("\n"); printf("Informe a quantidade de jogos "); scanf("%d",&q); escreve(nome); verifica_maiuscula(st); mega_sena(q); verifica_posicao(st,l); c=conta_consoantes(st); printf("Total de consoantes = %d\n",c); getch(); return 128; } void escreve(char nome[]) { printf("Escrevendo Na Tela ------------------> %s\n",nome);/*Thiago Gomes da Rosa*/ } void verifica_maiuscula(char frase[40]) { int i,cont=0; for(i=0; frase[i] != '\0'; i++) if(frase[i] > 64 && frase[i] < 91 )cont++; printf("A Palavra tem %d Letras Maiusculas !\n\n",cont); } void mega_sena(int q) { int i,j,flag,f=1,w; do { int n[6]={0}; // serão 6 números sem repetir na cartela for( i=0; i<6; i++ ) // Loop para 6 vezes { do { flag = 0; n[i] = rand()% 60 + 1; for(j=0;j<6;j++) { if( n[i] == n[j] && j != i ) { flag = 1; break; } } }while( flag == 1 ); } printf("Jogo %3d da MegaSena ---> ",f); f++; for( i=0; i<6; i++) { printf("%2d ",n[i]); if( i<5 )printf("- "); } printf("\n"); q--; }while( q != 0 ); } void verifica_posicao(char frase[40], char letra) { int i,cont=0; for(i=0;i<=strlen(frase)-1;i++) if(frase[i] == letra || frase[i]-32 == letra ) cont++; printf("A letra %c Saiu %d vez",letra,cont); if(cont > 1 ) printf("es"); printf(" na Palavra ---> %s\n",frase); } int conta_consoantes(char frase[40]) { int j,i,cont=0,flag; char vogais[5] = {'a','e','i','o','u' }; for(i=0; i<strlen(frase); i++) { flag = 0; for(j=0; j<5; j++) { if( toupper(frase[i]) == toupper(vogais[j]) || frase[i] < 65 || frase[i] > 122 || (frase[i] > 90 && frase[i] < 97 )) { flag = 1; break; } } if ( flag == 0 )cont++; } return cont; }
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