Pc18-Programa con arreglo de caracteres y
archivos.
#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];
void inic(void){
int t;
for(t=0;t<100;t++){
tema[t]='\0';
}
for(t=0;t<500;t++){
desc[t]='\0';
}
}
void introducir(void){
int r;
char t1[100];
char t2[200];
for(r=0;r<5;r++){
if(!tema[r*20]) break;
}
if(r==5){
printf("Lista de temas completa...");
}else{
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
//gets(&tema[r*20]);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
}
int encontrar(){
char s[20];
int r;
printf("Introduce tema:\n");
gets(s);
for(r=0;r<5;r++){
if(!strcmp(s,&tema[r*20])) break;
}
if(r==5){
printf("tema no esta...\n");
return(-1);
}
return r;
}
void desplegar(int nt){
//int nt;
printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
r = nt;
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
void eliminar(int nt){
tema[nt*20] = '\0';
desc[nt*100] = '\0';
puts("Tema y Descripción eliminados: ");
}
void listar(void){
int r;
for(r=0;r<5;r++){
printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
}
}
void guardar(void){
int i;
FILE *fp;
if((fp=fopen("temas.txt","w")) == 0){
puts("No se puede abrir temas");
}else{
for(i=0;i<100;i++){
putc(tema[i],fp);
}
for(i=0;i<500;i++){
putc(desc[i],fp);
}
fclose(fp);
}
}
void recuperar(void){
int i;
FILE *fp;
if((fp=fopen("temas.txt","r")) == 0){
puts("No se puede abrir temas");
}else{
puts("Recuperando Tema...\n");
for(i=0;i<100;i++){
tema[i] = getc(fp);
}
puts("Recuperando Desc...");
for(i=0;i<500;i++){
desc[i] = getc(fp);
}
fclose(fp);
}
}
int main(void){
char ca;
int nt;
inic();
//introducir();
do{
printf("\n\t\tMENU");
printf("\n1.Introducir Tema\n");
printf("2.Desplegar Tema\n");
printf("3.Actualizar Tema\n");
printf("4.Eliminar Tema\n");
printf("5.Listar Temas\n");
printf("6.Guardar Temas\n");
printf("7.Recuperar Temas\n");
printf("8.Terminar \n");
do{
printf("Seleccionar Opción: ");
//ca=getchar();
gets(&ca);
}while(ca<'1' || ca>'8');
printf("\n");
switch(ca){
case'1':
introducir();
//listar();
break;
case'2':
nt=encontrar();
if(nt!=-1) desplegar(nt);
break;
case'3':
nt=encontrar();
if(nt!=-1) actualizar(nt);
break;
case'4':
nt=encontrar();
if(nt!=-1) eliminar(nt);
break;
case'5':
listar();
break;
case'6':
guardar();
break;
case'7':
recuperar();
break;
case'8':
printf("Fin del programa...");
return(0);
}
}while(ca!='8');
return(0);
}
Vistas de página en total
miércoles, 29 de enero de 2014
Programación android con CCTools y C-pc17
Pc17-Programa con arreglo de caracteres
#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];
void inic(void){
int t;
for(t=0;t<100;t++){
tema[t]='\0';
}
for(t=0;t<500;t++){
desc[t]='\0';
}
}
void introducir(void){
int r;
char t1[100];
char t2[200];
for(r=0;r<5;r++){
if(!tema[r*20]) break;
}
if(r==5){
printf("Lista de temas completa...");
}else{
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
//gets(&tema[r*20]);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
}
int encontrar(){
char s[20];
int r;
printf("Introduce tema:\n");
gets(s);
for(r=0;r<5;r++){
if(!strcmp(s,&tema[r*20])) break;
}
if(r==5){
printf("tema no esta...\n");
return(-1);
}
return r;
}
void desplegar(int nt){
//int nt;
printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
r = nt;
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
void eliminar(int nt){
tema[nt*20] = '\0';
desc[nt*100] = '\0';
puts("Tema y Descripción eliminados: ");
}
void listar(void){
int r;
for(r=0;r<5;r++){
printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
}
}
int main(void){
char ca;
int nt;
inic();
//introducir();
do{
printf("\nMenu: \n");
printf("\n1.Introducir Tema\n");
printf("2.Desplegar Tema\n");
printf("3.Actualizar Tema\n");
printf("4.Eliminar Tema\n");
printf("5.Listar Temas\n");
printf("6.Terminar Tema\n");
do{
printf("Seleccionar Opción: ");
//ca=getchar();
gets(&ca);
}while(ca<'1' || ca>'6');
printf("\n");
switch(ca){
case'1':
introducir();
//listar();
break;
case'2':
nt=encontrar();
if(nt!=-1) desplegar(nt);
break;
case'3':
nt=encontrar();
if(nt!=-1) actualizar(nt);
break;
case'4':
nt=encontrar();
if(nt!=-1) eliminar(nt);
break;
case'5':
listar();
break;
case'6':
printf("Fin del programa...");
return(0);
}
}while(ca!='6');
return(0);
}
#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];
void inic(void){
int t;
for(t=0;t<100;t++){
tema[t]='\0';
}
for(t=0;t<500;t++){
desc[t]='\0';
}
}
void introducir(void){
int r;
char t1[100];
char t2[200];
for(r=0;r<5;r++){
if(!tema[r*20]) break;
}
if(r==5){
printf("Lista de temas completa...");
}else{
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
//gets(&tema[r*20]);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
}
int encontrar(){
char s[20];
int r;
printf("Introduce tema:\n");
gets(s);
for(r=0;r<5;r++){
if(!strcmp(s,&tema[r*20])) break;
}
if(r==5){
printf("tema no esta...\n");
return(-1);
}
return r;
}
void desplegar(int nt){
//int nt;
printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
r = nt;
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
void eliminar(int nt){
tema[nt*20] = '\0';
desc[nt*100] = '\0';
puts("Tema y Descripción eliminados: ");
}
void listar(void){
int r;
for(r=0;r<5;r++){
printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
}
}
int main(void){
char ca;
int nt;
inic();
//introducir();
do{
printf("\nMenu: \n");
printf("\n1.Introducir Tema\n");
printf("2.Desplegar Tema\n");
printf("3.Actualizar Tema\n");
printf("4.Eliminar Tema\n");
printf("5.Listar Temas\n");
printf("6.Terminar Tema\n");
do{
printf("Seleccionar Opción: ");
//ca=getchar();
gets(&ca);
}while(ca<'1' || ca>'6');
printf("\n");
switch(ca){
case'1':
introducir();
//listar();
break;
case'2':
nt=encontrar();
if(nt!=-1) desplegar(nt);
break;
case'3':
nt=encontrar();
if(nt!=-1) actualizar(nt);
break;
case'4':
nt=encontrar();
if(nt!=-1) eliminar(nt);
break;
case'5':
listar();
break;
case'6':
printf("Fin del programa...");
return(0);
}
}while(ca!='6');
return(0);
}
Programación android con CCTools y C - pc16
Pc16-Arreglo de caracteres y
memoria dinámica
#include<stdio.h>
#include<stdlib.h>
int main(void){
char nombre[20];
char tema[100];
char desc[200];
int i;
struct xtemas{
char tema1[50];
char desc1[100];
}temasx[2];
//ESTRUCTURAS Y ARREGLOS DE CARACTERES
//arreglo de caracteres nombre
printf("\nIntroducir nombre: ");
gets(nombre);
printf("Hola %s\n",nombre);
//arreglo de caracteres tema
printf("\nSolo un tema: \n");
printf("\nIntroducir tema: ");
gets(tema);
printf("Tema %s\n",tema);
//arreglo de caract. tema
printf("\nVarios temas: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema[i*50]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema[i*50]);
}
//arreglo de caract. tema y desc
printf("\nVarios temas con descripcion: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema[i*50]);
printf("\nIntroducir desc: ");
gets(&desc[i*100]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema[i*50]);
printf("Desc: %s\n",&desc[i*100]);
}
//structura de xtemas
printf("\nVarios temas con descripcion: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(temasx[i].tema1);
printf("\nIntroducir desc: ");
gets(temasx[i].desc1);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",temasx[i].tema1);
printf("Desc: %s\n",temasx[i].desc1);
}
//PUNTEROS Y MEM DINAMICA DE CARACTERES
//Puntero de una variable entera
int j,*k,l;
j=23; // j-1024-0023
k=&j; // k-1028-1024
l=*k; // l-1032-0023
printf("\nValor de l= %d\n",l);
//Variable nombre2 como puntero
char *nombre2;
nombre2 = malloc(10);
printf("\nIntroducir nombre: ");
gets(nombre2);
printf("Hola %s\n",nombre2);
//arreglo de caracteres tema2
char *tema2;
tema2 = malloc(100);
printf("\nSolo un tema: \n");
printf("\nIntroducir tema: ");
gets(tema2);
printf("Tema %s\n",tema2);
free(tema2);
//arreglo de caract. tema2
printf("\nVarios temas: \n");
tema2 = malloc(100);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema2[i*50]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
}
free(tema2);
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
}
//arreglo de caract. tema y desc
//char *tema2;
char *desc2;
printf("\nVarios temas con descripcion: \n");
tema2 = malloc(100);
desc2 = malloc(200);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema2[i*50]);
printf("\nIntroducir desc: ");
gets(&desc2[i*100]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
printf("Desc: %s\n",&desc2[i*100]);
}
free(tema2);
free(desc2);
//structura de ytemas
struct ytemas{
char tema2[50];
char desc2[100];
};
struct ytemas *temasy;
printf("\nVarios temas con descripcion: \n");
temasy = malloc(300);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(temasy[i].tema2);
printf("\nIntroducir desc: ");
gets(temasy[i].desc2);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",temasy[i].tema2);
printf("Desc: %s\n",temasy[i].desc2);
}
free(temasy);
return 0;
}
memoria dinámica
#include<stdio.h>
#include<stdlib.h>
int main(void){
char nombre[20];
char tema[100];
char desc[200];
int i;
struct xtemas{
char tema1[50];
char desc1[100];
}temasx[2];
//ESTRUCTURAS Y ARREGLOS DE CARACTERES
//arreglo de caracteres nombre
printf("\nIntroducir nombre: ");
gets(nombre);
printf("Hola %s\n",nombre);
//arreglo de caracteres tema
printf("\nSolo un tema: \n");
printf("\nIntroducir tema: ");
gets(tema);
printf("Tema %s\n",tema);
//arreglo de caract. tema
printf("\nVarios temas: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema[i*50]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema[i*50]);
}
//arreglo de caract. tema y desc
printf("\nVarios temas con descripcion: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema[i*50]);
printf("\nIntroducir desc: ");
gets(&desc[i*100]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema[i*50]);
printf("Desc: %s\n",&desc[i*100]);
}
//structura de xtemas
printf("\nVarios temas con descripcion: \n");
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(temasx[i].tema1);
printf("\nIntroducir desc: ");
gets(temasx[i].desc1);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",temasx[i].tema1);
printf("Desc: %s\n",temasx[i].desc1);
}
//PUNTEROS Y MEM DINAMICA DE CARACTERES
//Puntero de una variable entera
int j,*k,l;
j=23; // j-1024-0023
k=&j; // k-1028-1024
l=*k; // l-1032-0023
printf("\nValor de l= %d\n",l);
//Variable nombre2 como puntero
char *nombre2;
nombre2 = malloc(10);
printf("\nIntroducir nombre: ");
gets(nombre2);
printf("Hola %s\n",nombre2);
//arreglo de caracteres tema2
char *tema2;
tema2 = malloc(100);
printf("\nSolo un tema: \n");
printf("\nIntroducir tema: ");
gets(tema2);
printf("Tema %s\n",tema2);
free(tema2);
//arreglo de caract. tema2
printf("\nVarios temas: \n");
tema2 = malloc(100);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema2[i*50]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
}
free(tema2);
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
}
//arreglo de caract. tema y desc
//char *tema2;
char *desc2;
printf("\nVarios temas con descripcion: \n");
tema2 = malloc(100);
desc2 = malloc(200);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(&tema2[i*50]);
printf("\nIntroducir desc: ");
gets(&desc2[i*100]);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",&tema2[i*50]);
printf("Desc: %s\n",&desc2[i*100]);
}
free(tema2);
free(desc2);
//structura de ytemas
struct ytemas{
char tema2[50];
char desc2[100];
};
struct ytemas *temasy;
printf("\nVarios temas con descripcion: \n");
temasy = malloc(300);
for(i=0; i<2; i++){
printf("\nIntroducir tema: ");
gets(temasy[i].tema2);
printf("\nIntroducir desc: ");
gets(temasy[i].desc2);
}
printf("\nLista de temas: \n");
for(i=0; i<2; i++){
printf("Tema: %s\n",temasy[i].tema2);
printf("Desc: %s\n",temasy[i].desc2);
}
free(temasy);
return 0;
}
Suscribirse a:
Entradas (Atom)