As upon this week my class has to make a hotel managing program
as for me
this is the base for my part...
/* Reporta las Habitaciones.
Autores: Oliver y Viktor
Fecha: 9/07/2008 */
void reportaHabitaciones (FILE *n){
//busca un cliente por su numero clave en el archivo, asume el tipo de dato CheckOut de la libreria stdFH.h
int c; //numero clave del cliente
HABI a; //tabla de facturas(CheckOut)
rewind(n);
fread(&a.act, sizeof(HABI), 1, n);
while (!feof(n)) {
if (a.act){
printf("%d\n", a.Habi);
printf("%d\n", a.Fecha);
printf("%d\n", a.Tari);
printf("%d\n", a.FechaOut);
printf("%d\n", a.tip);
printf("%d\n", a.act);
printf("\n\n");
}
fread(&a.act, sizeof(HABI), 1, n);
}
}
The Blogger
Wednesday, July 9, 2008
Monday, June 30, 2008
HAHA
Made it!
ese fue uno de lo programa que tuve que aser para la practica de la 5ta semana
=P
/* Programa que toma dos números fibinarios validos y despliegua la suma
en forma fibinaria. Estos números pueden tener como mucho 100 dígitos.
Autor: Viktor Justo
24 de junio de 2008*/
#include
#include
#include
void serieFibonacci(int a[], int i);
void fibinarioADecimal(char d[], char f[]);
void decimalAFibinario(char f[], char d[]);
void sumaCadenas(char r[], char a[], char b[]);
void volteaCadenas(char n[]);
int main(){
char n1[100], n2[100]; //numero fibinario 1, numero fibinario 2.
char d1[100], d2[100]; // numero decimal 1, numero decimal 2.
char s[120], r[120]; // suma de los numeros.
scanf("%s %s", &n1, &n2); // recibe los ambos numeros fibinarios
fibinarioADecimal(d1, n1);
volteaCadenas(d1);
fibinarioADecimal(d2, n2);
volteaCadenas(d2);
sumaCadenas(s, d1, d2);
volteaCadenas(s);
decimalAFibinario(r,s);
volteaCadenas(r);
printf("%s \n",r);
system("pause");
return 0;
}
void serieFibonacci(int a[], int n){
// genera la serie de fibonnaci hasta el n-esimo fibonnacci.
int apu = 1, pu = 1, u = 2;
int c = 0;
a[c]= 1;
while (n > 0){
c++;
pu = u;
a[c] = u;
u = u + apu ;
apu = pu;
n--;
}
}
void fibinarioADecimal(char d[], char f[]){
// pasa un numero fibinario a numero decimal.
// asume que el numero fibinario es valido.
// devuelve la cadena al reves.
int num = 0;
int c = strlen(f);
int serie[100];
int x = 0;
serieFibonacci(serie, c);
while (c > 0){
c--;
if ((f[c]-'0'))num = num + serie[x];
x++;
}
c = 0;
while (num){
d[c] = (num%10)+'0';
num = num / 10;
c++;
}
d[c] = '\0';
}
void sumaCadenas(char r[], char a[], char b[]){
long x = atol(a);
long z = atol(b);
int c = 0;
z=z+x;
while (z){
r[c]=z%10+'0';
z /= 10;
c++;
}
r[c]='\0';
}
void volteaCadenas(char a[]){
// Voltea una cadena.
int x = 0, c;
char r[100];
c = strlen(a);
c--;
while (c > -1){
r[x]= a[c];
x++;
c--;
}
r[x]='\0';
strcpy(a,r);
}
void decimalAFibinario(char f[], char de[]){
//convierte de decimal a fibinario
int i=0, c=0;//posicion en la cadena, contador
int fn=0, serie[120];//fibonacci numero n
double fa;//fibonacci actual
double d = atof(de);
serieFibonacci(serie,120);
int sf=0;
while(d>0){
fn++;
fa = serie[fn-1];
if(fa>d){
fa=serie[fn-2];
f[i-1]='1';
c++;
if(c==1) f[i]='\0';
d=d-fa;
i=0;
fn=0;
}
else {
f[i]='0';
i++;
}
}
}
--------------------------------------------------------------------------------
Programming rocks!
The blogger
Made it!
ese fue uno de lo programa que tuve que aser para la practica de la 5ta semana
=P
/* Programa que toma dos números fibinarios validos y despliegua la suma
en forma fibinaria. Estos números pueden tener como mucho 100 dígitos.
Autor: Viktor Justo
24 de junio de 2008*/
#include
#include
#include
void serieFibonacci(int a[], int i);
void fibinarioADecimal(char d[], char f[]);
void decimalAFibinario(char f[], char d[]);
void sumaCadenas(char r[], char a[], char b[]);
void volteaCadenas(char n[]);
int main(){
char n1[100], n2[100]; //numero fibinario 1, numero fibinario 2.
char d1[100], d2[100]; // numero decimal 1, numero decimal 2.
char s[120], r[120]; // suma de los numeros.
scanf("%s %s", &n1, &n2); // recibe los ambos numeros fibinarios
fibinarioADecimal(d1, n1);
volteaCadenas(d1);
fibinarioADecimal(d2, n2);
volteaCadenas(d2);
sumaCadenas(s, d1, d2);
volteaCadenas(s);
decimalAFibinario(r,s);
volteaCadenas(r);
printf("%s \n",r);
system("pause");
return 0;
}
void serieFibonacci(int a[], int n){
// genera la serie de fibonnaci hasta el n-esimo fibonnacci.
int apu = 1, pu = 1, u = 2;
int c = 0;
a[c]= 1;
while (n > 0){
c++;
pu = u;
a[c] = u;
u = u + apu ;
apu = pu;
n--;
}
}
void fibinarioADecimal(char d[], char f[]){
// pasa un numero fibinario a numero decimal.
// asume que el numero fibinario es valido.
// devuelve la cadena al reves.
int num = 0;
int c = strlen(f);
int serie[100];
int x = 0;
serieFibonacci(serie, c);
while (c > 0){
c--;
if ((f[c]-'0'))num = num + serie[x];
x++;
}
c = 0;
while (num){
d[c] = (num%10)+'0';
num = num / 10;
c++;
}
d[c] = '\0';
}
void sumaCadenas(char r[], char a[], char b[]){
long x = atol(a);
long z = atol(b);
int c = 0;
z=z+x;
while (z){
r[c]=z%10+'0';
z /= 10;
c++;
}
r[c]='\0';
}
void volteaCadenas(char a[]){
// Voltea una cadena.
int x = 0, c;
char r[100];
c = strlen(a);
c--;
while (c > -1){
r[x]= a[c];
x++;
c--;
}
r[x]='\0';
strcpy(a,r);
}
void decimalAFibinario(char f[], char de[]){
//convierte de decimal a fibinario
int i=0, c=0;//posicion en la cadena, contador
int fn=0, serie[120];//fibonacci numero n
double fa;//fibonacci actual
double d = atof(de);
serieFibonacci(serie,120);
int sf=0;
while(d>0){
fn++;
fa = serie[fn-1];
if(fa>d){
fa=serie[fn-2];
f[i-1]='1';
c++;
if(c==1) f[i]='\0';
d=d-fa;
i=0;
fn=0;
}
else {
f[i]='0';
i++;
}
}
}
--------------------------------------------------------------------------------
Programming rocks!
The blogger
Subscribe to:
Comments (Atom)
