Questão:
duvida em linguagem c?
2011-12-27 08:19:23 UTC
Duvida em linguagem c?
fiz um programa em linguagem c e gostaria de criar um arquivo .doc com as informações obtidas no programa que eu fiz, essas informações deveriam ser obtidas depois que o programa realizasse o processamento, ou seja logo antes de encerrar

A função do programa é criar variáveis e formar anagramas

como fazer isso ?

o código fonte para ver se ajuda

#include
int main()
{
char a;
char b;


printf("digite duas letras ou numeros seguidos: ");
scanf("%c%c", &a, &b);

//para 4 casas

printf("\n16-Possibilidades");
printf("\n\n1- %c%c%c%c", a,a,a,a);
printf("\n2- %c%c%c%c", a,a,a,b);
printf("\n3- %c%c%c%c", a,a,b,b);
printf("\n4- %c%c%c%c", a,b,b,b);
printf("\n5- %c%c%c%c", b,b,b,b);
printf("\n6- %c%c%c%c", b,b,b,a);
printf("\n7- %c%c%c%c", b,b,a,a);
printf("\n8- %c%c%c%c", b,a,a,a);
printf("\n9- %c%c%c%c", a,b,a,a);
printf("\n10- %c%c%c%c", a,b,b,a);
printf("\n11- %c%c%c%c", a,b,b,b);
printf("\n12- %c%c%c%c", a,b,a,b);
printf("\n13- %c%c%c%c", b,a,b,a);
printf("\n14- %c%c%c%c", b,b,a,b);
printf("\n15- %c%c%c%c", a,a,b,a);
printf("\n16- %c%c%c%c", b,a,b,b);



getch();

}

o objetivo do programa e pegar as variáveis e posiciona-las em máximas posições diferentes

gostaria que o resultado exibido ao usuario fosse gravado em um arquivo .doc ja com as combinações como fazer isso por favor ajuda ?
Trzy respostas:
Alex
2011-12-27 09:55:03 UTC
Fiz esse algoritmo, apenas para vc ver como se grava em arquivo. Mande compilar (a tela preta apenas vai piscar), entre em seu projeto (projeto deste programa) e vera que foi criado um arquivo com extensão txt (arquivo de texto), entre nele e vera que gravou o que eu fiz.



As entradas são fscanf e fgets, que tem apenas um argumento a mais que scanf e gets.

As saidas a mesma coisa, fprintf e fputs, sempre com um argumento a mais, para a variavel FILE.



No google procure por essas funções e vc entendera, TAMBEM ha outras com o write.

Ha muitas possibilidade e modos de gravar e carregar um arquivo. Por enquanto veja o algoritmo:



//AQUI:



#include

int main()

{





//ponteiro de tipo FILE, arq é uma variavel.

FILE *arq;



//Cria e abre o arquivo, de nome DATA e extensão txt

arq = fopen("DATA.txt", "w");



//fprintf é como o printf, mas o primeiro argumento é o tipo FILE

fprintf(arq,"Assim grava\n");

fprintf(arq,"Esta vendo!\n");



//fecha o arquivo

fclose(arq);



}



OBS: aqui em arq = fopen("DATA.txt", "w"); o "w" vai criar e gravar o arquivo, sempre vai sobre-escrever o arquivo, mas tem w+, a, a+, r alguns gravam e outros puxam para a tela o que esta no arquivo. O melhor jeito mesmo, é vc pesquisar no google sobre estas palavras que eu digo aqui.







//***********************EDITADO*************************

Com este programa que fiz vc vai entender o que é para a tela e o que é para o arquivo, trabalhando ambos. Vai tambem GRAVAR e CARREGAR,







#include

int main()

{

//ponteiro de tipo FILE, arq é uma variavel.

FILE *arq;

char escrever[30];

//linhas no arquivo (apenas vamos ter 3; uma é para saltar)

char Linha[2];//0,1,2 lê 3 linhas

int i, opt = 1;



printf("O que deseja fazer?:\n");

printf("1 gravar no arquivo!:\n");

printf("2 carregar do arquivo!:\n");



scanf("%d", &opt);



if(opt == 1){

//Cria e abre o arquivo, de nome DATA e extensão txt

arq = fopen("DATA.txt", "w");



/*

Apenas sera gravado no arquivo, somente aparecera

na tela se a opção de carregar arquivo for escolhida

*/

fprintf(arq,"VEJA O QUE TEM NESTE ARQUIVO\n\n");



//Apenas aparecera na tela e NÂO sera gravado no arquivo.

printf("DIGITE SEU NOME:\n");

//segurar a tela

getchar();

//vai escrever na tela. Usamos gets para poder escrever nomes compostos.

gets(escrever);

//o que foi escrito na tela pelo gets, vai ser gravado no arquivo.

fprintf(arq, escrever);

//fechar o arquivo

fclose(arq);;



}//fim opção 1



//VAMOS LER O QUE ESTA NO ARQUIVO

if(opt == 2){



//Cria e abre o arquivo, de nome DATA e extensão txt

arq = fopen("DATA.txt", "r");



while (!feof(arq)){

//pegando do arquivo

fgets(Linha, 2, arq);

//escrevendo na tela

printf("%s",Linha);

}



//Fechando arquivo

fclose(arq);

getch();



}//fim opção 2



}//fim programa
?
2011-12-27 08:59:34 UTC
Chegou a ver minha resposta na sua outra pergunta? Porque é basicamente a mesma coisa, só que em vez de:



arquivo = fopen("anagrama.doc", "w");

fprintf(arquivo,"As possibilidades sem repeticao (anagramas) sao:\n%c, %c\n%c, %c", a,b, b,a);

fclose(arquivo);



Você vai ter que usar algo como:



arquivo = fopen("anagrama.doc", "w");

fprintf("\n16-Possibilidades");

fprintf(arquivo,"\n\n1- %c%c%c%c", a,a,a,a);

fprintf(arquivo,"\n2- %c%c%c%c", a,a,a,b);

fprintf(arquivo,"\n3- %c%c%c%c", a,a,b,b);

fprintf(arquivo,"\n4- %c%c%c%c", a,b,b,b);

fprintf(arquivo,"\n5- %c%c%c%c", b,b,b,b);

fprintf(arquivo,"\n6- %c%c%c%c", b,b,b,a);

fprintf(arquivo,"\n7- %c%c%c%c", b,b,a,a);

fprintf(arquivo,"\n8- %c%c%c%c", b,a,a,a);

fprintf(arquivo,"\n9- %c%c%c%c", a,b,a,a);

fprintf(arquivo,"\n10- %c%c%c%c", a,b,b,a);

fprintf(arquivo,"\n11- %c%c%c%c", a,b,b,b);

fprintf(arquivo,"\n12- %c%c%c%c", a,b,a,b);

fprintf(arquivo,"\n13- %c%c%c%c", b,a,b,a);

fprintf(arquivo,"\n14- %c%c%c%c", b,b,a,b);

fprintf(arquivo,"\n15- %c%c%c%c", a,a,b,a);

fprintf(arquivo,"\n16- %c%c%c%c", b,a,b,b);

fclose(arquivo);



E não se esqueça de declarar o arquivo no início do main, como no outro código:

FILE *arquivo;



Abraço!
Jairo
2011-12-27 08:22:25 UTC
Eu não sei


Este conteúdo foi postado originalmente no Y! Answers, um site de perguntas e respostas que foi encerrado em 2021.
Loading...