-
Posts
6.318 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
@Xaws seu código ficou muito bom e com poucas linhas, interessante o modo como você pegou as duas palavras no arquivo, as duas de uma vez, depois que fiz o código percebi que havia repetido um loop sem necessidade eu poderia ter usado apenas um loop e por isso o código ficou bem extenso .
-
Piramide invertida apenas com numeros impares
devair1010 respondeu ao tópico de Vinicius98 em C/C#/C++
@Vinicius98 esse for é para imprimir na posição certa ou seja duas posições para frente em cada linha com isso posicionando os números nu lugar certo, pois depois de for tem um printf que imprime um espaço vazio . -
Exercício visualg não aparece o escreval
devair1010 respondeu ao tópico de Gabriel Jansen em Programação - iniciantes
@Gabriel Jansen você colocou uma virgula dentro do parenteses no escreval antes da variável e isso não permite que esse comando funcione, veja como ficaria seu código com algumas modificações : Algoritmo "divisivel" var a,b :inteiro inicio escreval("indique dois números") leia(a,b) se a % b = 0 então escreval(a," é divisível por ",b) senao escreval(a," não é divisível por ",b) fimse fimalgoritmo -
Piramide invertida apenas com numeros impares
devair1010 respondeu ao tópico de Vinicius98 em C/C#/C++
@Vinicius98 seu código está bom, ficou faltando posicionar os números duas posições para frente em cada nova linha, experimente esse seu código com algumas modificações : #include <stdio.h> #include <conio.h> #include <stdlib.h> int main(){ int n, i, j,l,k; do{ scanf("%d", &n); }while(n%2==0); l=0; system("cls"); printf("\n\n\n"); for(i=1;i<=n;i++){ for(k=0;k<l;k++){printf(" ");} printf("%d ", i); for(j=i+1;j<=n;j++) printf("%d ", j); n-=1; printf("\n"); l+=2; } printf("\n\n\n Tecle"); getch(); return 0; } -
@Rennan18 vamos lá, se você quiser posso ajudar, mas você já sabe alguma coisa de programação em c++ ? então primeiro você cria a função main com o menu de opções para ir para cada função,usando o comando switch, e as funções pode ser essas 6 funções aqui: converter KM para MT e outra converter KM para CM e outra converter CM para KM e converter MT para KM e converter MT para CM e converter CM para MT e então criar essas funções, por exemplo para converter KM para MT a função seria assim : int converte_km_mt(){ do{ printf("Vamos Converter De KM Para MT\n"); printf("Digite Quantos KM \n"); scanf("%f",&k); printf("Valor Convertido\n"); printf("%.2f Quilometros = %.2f Metros\n",k,k*1000); printf("Quer Converter Outro ? S/N"); tecla(); }while(d[0]!='n'); return 0; } as outras funções são bem parecidas com essa, se você puder fazer um código então poste aqui para que possamos ver como está e em que podemos ajudar .
-
@Xaws então diz aí como você colocou os dados nesse arquivo , você pode usar o comando fprintf e depois para pegar esses mesmos dados que estão no arquivo você pode usar o comando fscanf, aí depois que você pegar esse dado você compara com o login ou senha. já se for um arquivo txt criado com o notpad aí fica mais difícil pois precisa ver com os dados foram gravados nele adicionado 58 minutos depois @Xaws veja se esse código funciona como você quer, abra o notpad e coloque nele esse texto aqui " qualquer coisa e mais alguma coisa esse é o login e essa é a senha mais alguma coisa gravada nesse arquivo " a palavra login é o login e você pode altera-la para outra palavra a senha é também a senha que você pode modifica-la também para outra palavra aí salve o arquivo na mesma pasta em que está o código do programa, então se no arquivo tiver a palavra que você digitou para login e tiver a palavra que você digitou para senha ele imprimirá a mensagem " LOGADO ", então para testar rode esse programa .: #include <stdio.h> #include <string.h> #include <conio.h> char login[100]; char senha[100]; char str1[100]="str"; char str2[100]="str2"; int i,k,g; char a[50]; int main (){ FILE *fp; volta: k=0;g=0; fp = fopen("teste de arquivo.txt","r"); printf("LOGIN: se digitar < login > da certo "); scanf("%s",login);/*aqui você digita o login*/ printf("SENHA: aqui digite < senha > que da certo "); scanf("%s",senha);/*aqui você digita a senha*/ while(fscanf(fp,"%s",a)!=EOF){ if(strcmp(a,login) == 0){ k=1; break; } } fclose(fp); fp = fopen("teste de arquivo.txt","r"); while(fscanf(fp,"%s",a)!=EOF){ if(strcmp(a,senha) == 0){ g=1; break; } } fclose(fp); if(k==1&&g==1){ printf("\n\nLOGADO"); } else{ printf("ERRO\n\n"); goto volta; } printf("\n\n\n"); getch(); return 0; }
-
@Xaws aqui esse código aqui funciona , coloquei o login como str e a senha como str2 e está funcionando mas para usar o arquivo precisa modificar o código. e para isso precisa saber como você criou o arquivo txt . se for com fprintf fica mais fácil . teste esse código aqui : #include <stdio.h> #include <string.h> #include <conio.h> char login[100]; char senha[100]; char str1[100]="str"; char str2[100]="str2"; int main (){ FILE *fp; fp = fopen("login.txt","r"); volta: printf("LOGIN: se digitar < str > da certo "); scanf("%s",login);/*aqui você digita o login*/ printf("SENHA: aqui digite < str2 > que da certo "); scanf("%s",senha);/*aqui você digita a senha*/ if((strcmp(str1,login) == 0) && (strcmp(str2,senha) == 0)){ printf("\n\nLOGADO"); } else{ printf("ERRO\n\n"); goto volta; } getch(); return 0; }
-
@Xaws creio que está dando erro por que o str está sem valor nenhum e para verificar do arquivo você precisa pegar o dado no arquivo e depois comparar,
-
@FABI 2 veja se esse código te ajuda : #include <stdio.h> #include <string.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> char nome[100]; char b,c[20]; int i,j,a,f=0,g=0; int main(){ printf("Digite O Nome e dois Sobrenomes De Uma Pessoa separados por um espaco\n"); printf("Nome --> "); gets(nome); a=strlen(nome); printf("\n"); for(i=0;i<a;i++){ if(nome[i]==' '){ for(j=i+1;j<a;j++){ if(nome[j]==' '){ g=1; break; } c[f]=nome[j]; f++; } c[0]=toupper(nome[i+1]); } if(g==1){break;} } printf("Nome Do Meio --> %s ",c); getch(); printf("\n\n"); return 0; }
-
@FABI 2 para transformar minúsculas em maiúsculas você pode usar a função toupper, então comece pegando a última palavra do nome e transforme essa palavra para maiúscula depois ir pegando as primeiras letras dos outros nomes e também transformando elas em maiúsculas . experimente esse código e veja se é o que quer : #include <stdio.h> #include <string.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> char nome[100]; char b,c[20]; int i,j,a,f=1,g=0; int main(){ printf("Digite O Nome e Os Sobrenomes De Uma Pessoa separados por um espaco\n"); printf("Nome --> "); gets(nome); a=strlen(nome); printf("\n"); for(i=a;i>=0;i--){ if(nome[i]==' '){ b=nome[i+1]; b=toupper(b); c[0]=b; nome[i]='.'; for(j=i+2;j<a;j++){ c[f]=toupper(nome[j]); f++; } printf("Aqui Referencia Bibliografica --> %s,",c); g=1; break; } } g=0;f=0; for(i=0;i<a;i++){ if(nome[i]=='.'){break;} if(nome[i]==' '){ g=0; i++; if(nome[i+2]==' '||nome[i+2]=='.'){ i+=2;g=1; } } if(nome[i]==' '){g=0;i++;} if(g==0){ if(nome[i+2]!=' '){ b=nome[i]; g=1; printf(" %c.",toupper(b)); } } } printf("\n\n\n"); getch(); return 0; }
-
@gustavodbg desculpe a intromissão no assunto mas fiquei interessado em saber a resposta que o @JeaVip pediu que foi " se é melhor um i3 de sétima geração ou um i5 de quarta geração " , diz aí, pois estou para comprar um i3 e queria ver qual é melhor .
-
@Luis Henrique Ramalho experimente esse código de bandeja pra você, veja se é o que quer . : #include <stdio.h> #include <conio.h> #include <windows.h> void gotoxy(int x,int y){ COORD c; c.X=x; c.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } int i,j,c=5,l=5,k=4; int main(){ gotoxy(4 ,2);printf("Triangulo"); gotoxy(16,2);printf("Triangulo"); gotoxy(16,3);printf("Invertido"); gotoxy(30,2);printf("Quadrado" ); gotoxy(45,2);printf("Quadrado" ); gotoxy(46,3);printf("Vazado" ); for(i=0;i<4;i++){ gotoxy(c,l); for(j=0;j<k;j++){ printf("* "); } c++; l++; k--; } c=20; l=5; k=1; for(i=0;i<4;i++){ gotoxy(c,l); for(j=0;j<k;j++){ printf("* "); } c--; l++; k++; } c=30; l=5; k=4; for(i=0;i<4;i++){ gotoxy(c,l); for(j=0;j<k;j++){ printf("* "); } l++; } c=45; l=5; k=4; for(i=0;i<4;i++){ gotoxy(c,l); for(j=0;j<k;j++){ if(i==0||i==3) printf("* "); else{ if(j==0||j==2) printf("* "); else printf(" "); } } l++; } printf("\n\n\n"); getch(); return 0; }
-
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Helen Fernanda de Souza Essa parte aqui eu entendi que você vai inserir 60 números qualquer e depois remover 10 números, com isso vai sobrar 50 números : Boa noite sou iniciante no assunto tive uma ideia criar um programa de numeração que funcione assim : tenho 60 números, dos 60 vou remover 10 certo, sobra 50 . aqui você quer pegar 30 números aleatórios dos 50 que sobraram e em seguida pegar mais 30 números aleatórios dos mesmos 50 que sobraram e novamente pegar mais 30 números aleatórios dos mesmos 50 que sobraram , então você terá 90 números aleatórios . ja dos 50 quero gerar dele aleatoriamente 30 so que 3 vezes esse mesmo processo aqui não entendi pois ele gerou até aqui 90 números e você disse que são apenas 30, e você quer fixar nos 3 que ele gerou, então quais 3 são esses ? e quais 10 números são esses ? no entanto se pegar os 30 números apenas uma vez, então aí sim sobrarão 20 números que não foram usados para gerar os 30 números . dos 30 que ele gerou, vou fixar nos 3 que ele gerou, 10 números certo ?, ai sobra 20 aqui sobrando 20 números, sim você pode gerar 10 números aleatórios e guarda-los no vetor_1 , e depois gerar mais 10 números e guarda-los no vetor_2 , e gerar mais 10 números e guarda-los no vetor_3 , e o mesmo no vetor_4 , e no vetor_5 .com isso você pode imprimir esses 10 números que estão guardados em cada vetor ou usa-los para outros fins . desses 20 que sobrou gerar aleatoriamente mais 10 n por 5 vezes Porém não podemos fazer esse algoritmo todo pronto para você , só posso te dar umas dicas, então use vetores para colocar os 60 números que você quer e então remova os 10 números aleatórios, depois mais 3 vetores para guardar os 30 números gerados aleatórios,um para cada vez que ele gerar, e para gerar esses números você pode usar a função randi , e no final mais cinco vetores para guardar os 10 números gerados . Você é que precisa fazer o algoritmo, faça o algoritmo e post ele aqui para podermos ver como está e em que podemos ajudar . -
@Amiguinho como você mencionou que entende a linguagem c então creio que essa seja a melhor opção pois em c você pode trabalhar com arquivos txt como o que você apresentou então podes fazer um programa de console que fica bom mas não é nada sofisticado, mas em c você pode fazer interface usando a APi do windows que fica muito bom mas é bem difícil de fazer pois tem poucas informações na internet, um dos poucos arquivos que tem informações sobre api do windows é o livro programing windows de Charles Petzold . Com c# ou java também dá para fazer mas esses dois não entendo não .
-
Problemas para criar jogo da forca no visualG
devair1010 respondeu ao tópico de Vinícius V. em Programação - iniciantes
@viniciusv21 seu código está bom, mas você precisa verificar cada letra da palavra então esse loop do meio precisa fazer essas verificações e depois imprimir as letras que já foram acertadas ou se não imprime " - " e volta para pegar outra letra e repete isso até acertar todas as letras da palavra ou se você quiser parar então digite o número 2 . veja como ficaria seu código : Algoritmo "jogo da forca" var vvetor1, vvetor2 :vetor[1..8] de caracter x : caracter y,a : inteiro inicio para y de 1 ate 8 faca vvetor1[y] := "_" fimpara vvetor2[1] := "V" vvetor2[2] := "i" vvetor2[3] := "n" vvetor2[4] := "i" vvetor2[5] := "c" vvetor2[6] := "i" vvetor2[7] := "u" vvetor2[8] := "s" repita escreval("digite uma letra ou digite 2 para sair") leia(x) limpatela para y de 1 ate 8 faca se x = vvetor2[y] ENTÃO vvetor1[y] := vvetor2[y] fimse fimpara escreva("Aqui A Palavra --> ") para a de 1 ate 8 faca escreva(vvetor1[a]," ") fimpara escreval se ((vvetor1[1]="V")e (vvetor1[2]="i")e (vvetor1[3]="n")) ENTÃO se ((vvetor1[4]="i")e (vvetor1[5]="c")e (vvetor1[6]="i")) ENTÃO se ((vvetor1[7]="u")e (vvetor1[8]="s")) ENTÃO x := "2" escreval("voce Acertou A Palavra") fimse fimse fimse ate x="2" Fimalgoritmo -
@Karpov1 testei aqui e sim tanto faz, mas se você abrir com o nome do projeto você precisa ter a janela management na tela do lado esquerdo, se não tiver então vai no botão view e marca a opção manager que a janelinha aparece do lado esquerdo, aí nessa janela clique duas vezes em workspace e mais dois clique no nome do projeto e mais dois clique em sources e mais dois cliques em main cpp , com isso abre o programa na tela .
-
@Karpov1 Ops foi maus, desculpe, com a win32 gui que é desse jeito , nessa console application realmente você precisa abrir é a main . mas você conseguiu fazer funcionar ?
-
@Karpov1 você não seguiu o que eu disse, mas então vamos do jeito que seu professor ensinou, agora que você criou o projeto console application você deve ir na pasta onde você salvou o projeto e abre o arquivo main que está nessa pasta, com isso vai abrir o código de um programa chamado hello word aí você pode clicar em f9 para rodar o programa e também pode modifica-lo do jeito que quiser . e depois que fechar esse arquivo e você quiser abri-lo novamente então abra o arquivo com o nome que você salvou, não main .
-
@Karpov1 se você quer criar um programa de console, você precisa clicar em file / new / file e em c/c++ e escolher ou c ou c++ e clicar em next e colocar o nome do programa na pasta que você precisa também escolher e aí clicar em finish, com isso abrirá uma tela cinza e branca com o cursor piscando lá em cima onde você pode inserir seu código . Já se você que criar um projeto, então você clica em file / new / project ali tem vários tipos mas o que funciona bem é o Win32 GUI project nele você coloca códigos da API Win32 em c c++ e uma outra é a OpenGL project mas essa é bem complicada, ainda não consegui fazer nada nela .
-
codigo de programação
devair1010 respondeu ao tópico de Saulo abel martins em Programação - iniciantes
@Saulo abel martins provavelmente não, por que cada programa é de um jeito , então não haverá código igual ao outro, mas pode ter um código parecido com outro . e os programas do windows geralmente são feitos usando a linguagem c c++ . -
@Gabriel Lin sim, todo código c ou c++ tem que ter essa função main( ) e os includes depende do que você precisa no programa, por exemplo se você quiser usar os comandos Sleep( ) srand( ) rand( ) getch( ) entre outras aí você precisa colocar includes para cada uma, que no caso são include windows.h include time.h e include conio.h e iostream.h, pois se não colocar dá erro na hora de compilar.
-
@Gabriel Lin todo programa em c ou c++ precisa ter a função main e alguns includes, então o que esse erro está dizendo é que você não colocou a função main. veja como ficaria seu código com essas modificações : #include <stdio.h> int main() { float n1; float n2,media; printf("digite nota 1:"); scanf("%f",&n1); printf("digite a nota 2:"); scanf("%f", &n2); media=(n1+n2)/2; printf("a media é:%.2f\n\n",media); /* .2f é para mostrar apenas dois digitos decimais*/ return 0; }
-
Computador funciona mas monitor fica sem sinal?
devair1010 respondeu ao tópico de joao4425 em Computador não liga ou não dá vídeo
@joao4425 não será que é o monitor que desliga ? então não é o pc . vá na opções de energia no painel de controle e coloque um tempo mais longo para desligar o vídeo. -
@FABI 2 lá na parte de baixo você precisa imprimir os 3 x , pois você está imprimindo apenas um . veja seu código com modificação : #include <iostream.h> char a = 'x'; int linhas, caracters, espacos,count; int main(){ caracters = 1; espacos = 8; printf("\n\n\n"); //parte de cima for(linhas = 0; espacos > 0;linhas++){ for(count = 0; count <= espacos; count++){ printf(" "); } for(count = 0; count < caracters; count++){ printf("%c",a); } espacos--; caracters+=2; printf("\n"); } //parte de baixo espacos = 8; for(linhas = 0; linhas<3;linhas++){ for(count = 0; count < espacos;count++){ printf(" "); } printf("%c%c%c\n",a,a,a);// modifiquei essa linha aqui } for(count = 0; count<espacos; count++){ printf(" "); } for(count = 0; count<3;count++) { printf("%c",a); } printf("\n\n\n"); } ou podes usar esse outro código aqui , que faz a mesma coisa, usando menos linhas : #include <stdio.h> #include <windows.h> void gotoxy(int x,int y){ COORD c; c.X=x; c.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } int i,j,k=15,c=10,l=10; int main(){ for(i=0;i<8;i++){ gotoxy(c,l); for(j=0;j<k;j++){ printf("X"); } k-=2; c++; l--; } c=16; l=11; for(i=0;i<4;i++){ gotoxy(c,l); for(j=0;j<3;j++){ printf("X"); } l++; } gotoxy(0,18); }
-
não imprime resultado de um vetor de string
devair1010 respondeu ao tópico de iury rodrigues em C/C#/C++
@iury rodrigues para isso você precisa fazer como fez lá no menu, coloque uma variável para controlar o while, que irá repetir tudo até que se digite determinado número, assim você só conseguirá sair da função palavras quando digitar esse número. Experimente esse código da função palavras e veja se é o que você quer : //função que ira mostrar um numero escolhido em palavras void palavras(void) { int op; do{ system("cls"); for(i=0;i<=5;i++){ printf("XXX insira a %d palavras: XXX",i+1); scanf("%s", &vet_palavras[i]); } //entrada do valor a ser imprimido printf("XXX insira um numero dentre 0 e 5: XXX"); scanf("%d", &n); if (n <=5) { // testando se o valor e menor que 5 for(i=0;i<=6;i++) { if(i==n) { strcpy(resul_palavras[i],vet_palavras[i]); } } printf("\n XXX %d = %s <------- \n",n,resul_palavras[n]); } else //printf para aviso de numero invalido digitado. printf("\n XXX numero inserido difenrente do intervalo entre 0 e 5 <------- \n"); getch (); printf("\nXXX Digite Zero Para Sair XXX"); scanf("%d",&op); }while(op!=0); }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais