Você está na página 1de 9

Temas diversos

Paulo Schreiner

Convertendo texto para nmeros

Usar gets() ou fgets() para ler uma linha de texto Converter o texto para int ou float:

atoi(texto) atof(texto)

Exemplo
#include <stdio.h> #include <stdlib.h> #define MAXNOME 100 int main(){ char nome [MAXNOME]; char idade2[10]; int idade; int i; printf("Digite 5 nomes e suas respectivas idades: \n"); for (i=0; i<5; i++){ printf("nome:\n"); gets(nome); printf("%s \n", nome); printf("idade:\n"); gets(idade2); idade = atoi(idade2); printf("%i\n", idade); } fclose(arquivo); }

Como alterar uma estrutura em uma funo


Passar como ponteiro Mas afinal, o que o ponteiro?


struct ponto { float x; float y; }; void le_ponto(struct ponto *p) { }

Exemplo

#include <stdio.h> #include <stdlib.h> struct ponto { float x; float y; }; void le_ponto(struct ponto *p) { char temp[10]; printf("Digite 1o nr: "); gets(temp); (*p).x = atof(temp); printf("Digite 2o nr: "); gets(temp); (*p).y = atof(temp); }

int main() { struct ponto p1; le_ponto(&p1); printf("x %f, y %f\n", p1.x, p1.y); }

Gets e Fgets

gets() e fgets() retornam FALSO quando o arquivo terminou:


char temp[100]; while(fgets(temp, 100, arquivo)) { printf(%s\n, temp); }

Exerccio Para entregar

Dada a estrutura cliente, voc deve fazer um programa que:

Contenha uma funo para imprimir uma estrutura cliente na tela Contenha uma funo para imprimir uma estrutura cliente em um arquivo Contenha uma funo para ler uma estrutura cliente do teclado Contenha uma funo para ler uma estrutura cliente de um arquivo

Exerccio

Seu programa deve utilizar essas funes para dar ao usurio 2 opes:

Cadastrar clientes: le 5 clientes do teclado e escreve eles em um arquivo Mostrar clientes: le clientes do arquivo e mostra na tela

Esqueleto
struct cliente { char nome[100]; int idade; float saldo_devedor; }; void le_cliente_do_teclado(struct cliente *c1) { ... } void le_cliente_do_arquivo(FILE *arquivo, struct cliente *c1) { ... } void imprime_cliente(struct cliente c1) { ... } void imprime_cliente_no_arquivo(FILE *arquivo, struct cliente c1) { ... }

Você também pode gostar