|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - el_funa
Páginas: [1]
1
« en: Viernes 28 de Mayo de 2010, 08:17 »
Hola a todos tengo unas consultas... quiero saber si estas query se encuentran bien... y los scrips de las tablas se encuentran abajo pero al parecer tengo malo el scrips de la tabla suministra en la parte de las foreign key, ya que al ingresar datos no toma als foreign key :S y por eso no puedo revisar si estan bien los ejercicios... espero que me puedan ayudar. -------------------------------------- ARTICULOS CodArt nvarchar(4) (PK) Nombre Nvarchar (50) PrecVenta Int Procede Nvarchar (50) ------------------------------------ SUMINISTRA CodArt nvarchar(4) (FK) CodPro nvarchar(4) (FK) Precio Int --------------------------------------- PROVEEDORES CodPro nvarchar(4) (PK) Nombre Nvarchar (50) Comuna Nvarchar (50) -------------------------------------- 1. Obtener los nombres de todas los artículos que son suministrados por proveedores de ‘Santiago’ y son de procedencia china (Nombre) SELECT a.nombre FROM artículos a INNER JOIN suministra s ON a.codArt=s.codArt INNER JOIN proveedores p ON s.codPro=p.codPro WHERE p.comuna=’Santiago’ AND a.procede=’china’
2. Obtener todos los datos de todos los proveedores que sean de la comuna de “providencia” y que suministran artículos por un precio mayor a 6000 pesos. (Codigo, Nombre, Comuna) SELECT p.* FROM artículos a INNER JOIN suministra s ON a.codArt=s.codArt INNER JOIN proveedores p ON s.codPro=p.codPro WHERE p.comuna=’providencia’ AND a.precVenta>6000
3. Obtener el promedio al que se suministran los artículos del proveedor “HomeroCenter”. (Promedio de precios) SELECT avg(s.precio) FROM suministra a INNER JOIN proveedores p ON s.CodPro=p.CodPro WHERE p.Nombre=’HomeroCenter’
4. Obtener los nombres de los proveedores que suministran el artículo “Martillo” y a que precio lo suministran. (nombre proveedor, precio) SELECT p.Nombre, s.Precio FROM proveedor p INNER JOIN suministra s ON p.CodPro=s.CodPro INNER JOIN artículos a ON s.CodArt=a.CodArt WHERE a.Nombre=’martillo’
5. Obtener los nombres de los artículos suministradas por el proveedor “HomeroCenter”. (Nombre articulo) SELECT a.Nombre FROM artículos a INNER JOIN suministro s ON a.CodArt=s.CodArt INNER JOIN proveedores p ON s.CodPro=p.CodPro WHERE p.Nombre=’HomeroCenter’
6. Obtener el nombre del proveedor que suministra el artículo más caro, indicando el nombre y el precio al que la suministran. (Nombre Proveedor, Nombre articulo, Precio) SELECT p.nombre, a.nombre, MAX(s.precio) FROM proveedores p INNER JOIN suministra s ON p.CodPro=s.CodPro INNER JOIN articulos a ON s.CodArt=a.CodArt
7. Mostrar el promedio de precios de venta de los artículos por procedencia del artículo. (Procedencia, Promedio) SELECT Procede, avg(PrecVenta) FROM artículos GROUP BY Procede
8. Mostrar el nombre de los productos que son más caros que el promedio de todos los productos de procedencia “Alemana”. (Nombre producto) SELECT nombre FROM articulos WHERE procede = ‘alemania' and precventa>( select avg(precventa) from articulos )
9. Agregar a la base de datos la Empresa “Lidera” (código P2), de Santiago que empezará suministrando tuercas (código A10) a 160 pesos cada tuerca. INSERT INTO proveedores VALUES(‘p2’,’lidera’,’santiago’); INSERT INTO suministra VALUES(‘a10’,’p2’,160);
10. Aumentar los precios de venta en un 10% permanente a los productos que son de procedencia “alemana”. SELECT (precio)*1.10 FROM artículos WHERE procede=’alemania’
11. La empresa proveedora “Marcus S.A.” (código P3) de arica, no va seguir suministrando ninguna pieza (aunque la empresa en si va a seguir perteneciendo al los proveedores de la base de datos). detele FROM suministra WHERE codpro='p3'
y estas son las tablas para oracle (esta tiene problema...) CREATE TABLE Suministra ( codart VARCHAR(4) NOT NULL, codpro VARCHAR(4) NOT NULL, precio INTEGER NOT NULL, FOREIGN KEY (codart) REFERENCES articulos(codart), FOREIGN KEY (codpro) REFERENCES proveedores(codpro) ); CREATE TABLE Proveedores ( CodPro VARCHAR(4) NOT NULL, Nombre VARCHAR(20) NOT NULL, Comuna VARCHAR(20) NOT NULL, PRIMARY KEY (CodPro) ); CREATE TABLE Articulos ( CodArt VARCHAR(4) NOT NULL, Nombre VARCHAR(20) NOT NULL, PrecVenta INTEGER NOT NULL, Procede VARCHAR(50) NOT NULL, PRIMARY KEY (CodArt) );
2
« en: Viernes 14 de Mayo de 2010, 22:39 »
Hasta donde tengo conocimiento, java no compara los strings con los signos habituales de comparación, o sea, no funciona el ==. En su lugar, utiliza la función compareTo() o compareToIgnoreCase(), que es lo mismo pero ignorando mayúsculas o minúsculas:
if(color.compareToIgnoreCase("blanco")==0) { this.color=color; }
gracias por la ayuda eso era lo que necesitaba
3
« en: Viernes 14 de Mayo de 2010, 06:55 »
hola tengo este problema de que no puedo ocupar bien el toLowerCase ya que no melos transforma a minuculas paraasi comparar tengo que comparar unos colores pero el usuario puede colocar mayusculas y no funcionaria el prog. de todas maneras ahora estamos ocupando el blueJ public void setColor(String color) { if(color.toLowerCase()=="blanco") // AQUI ESTA EL PROBLEMA { this.color=color; } entonces es ahi donde debe ir el toLowerCase ??o esta mal planteado el problema ? aqui esta el codigo codigo completo. /** * Write a description of class Equipo here. * * @author (your name) * @version (a version number or a date) */ public class Equipo { private Wifi wifi; private Llamada llamada; private Mensajeria mensajeria; private Reproductor reproductor; public Equipo() { marca=null; modelo=null; numeroSerie=null; descripcion=null; color=null; wifi=new Wifi(); llamada=new Llamada(); mensajeria=new Mensajeria(); reproductor=new Reproductor(); } public Equipo (String marca, String modelo, String numeroSerie, String descripcion, String color, Wifi wifi,Reproductor reproductor, Llamada llamada, Mensajeria mensajeria ) { setMarca(marca); setModelo(modelo); setNumeroSerie(numeroSerie); setDescripcion(descripcion); setColor(color); this.wifi=wifi; this.llamada=llamada; this.mensajeria=mensajeria; this.reproductor=reproductor; } { return marca; } { return modelo; } public String getNumeroSerie () { return numeroSerie; } public String getDescripcion () { return descripcion; } { return color; } public void setMarca (String marca )//nokia, sony, lg, Samsung, blackBerry o iphone { if(marca.toLowerCase()=="nokia") { this.marca=marca; } else{ if(marca.toLowerCase()=="sony") { this.marca=marca; } else{ if(marca.toLowerCase()=="samsung") { this.marca=marca; } else{ if(marca.toLowerCase()=="blackberry") { this.marca=marca; } else{ if(marca.toLowerCase()=="lg") { this.marca=marca; } else{ if(marca.toLowerCase()=="iphone") { this.marca=marca; } else{ System. out. println("solamente estan estas marcas: nokia, sony, lg, Samsung, blackBerry o iphone"); } } } } } } } public void setModelo (String modelo ) { if(modelo.length()==5) { this.modelo=modelo; } else{ System. out. println("el numero de modelo debe ser igual a cinco (5)"); } } public void setNumeroSerie (String numeroSerie ) { if(numeroSerie.length()>=3) { this.numeroSerie=numeroSerie; } else{ System. out. println("El numero de serie debe tener mas de tres (3) caracteres."); } } public void setDescripcion (String descripcion ) { if(descripcion.length()>=3) { this.descripcion=descripcion; } else{ System. out. println("La descripcion debe tener mas de tres (3) caracteres."); } } public void setColor (String color ) { if(color.toLowerCase()=="blanco") // AQUI ESTA EL PROBLEMA { this.color=color; } else{ if(color.toLowerCase()=="negro") { this.color=color; } else{ if(color.toLowerCase()=="rosado") { this.color=color; } else{ if(color.toLowerCase()=="rojo") { this.color=color; } else{ if(color.toLowerCase()=="gris") { this.color=color; } else{ System. out. println("solamente estan estos colores blanco, negro , rosado, rojo o gris"); } } } } } } public void printEquipo() { System. out. println("La marca es:"+getMarca ()); System. out. println("El modelo es:"+getModelo ()); System. out. println("Numero de serie:"+getNumeroSerie ()); System. out. println("Descripciones:"+getDescripcion ()); System. out. println("El color es:"+getColor ()); wifi.printWifi(); llamada.printLlamada(); mensajeria.printMensajeria(); reproductor.printReproductor(); } }
4
« en: Jueves 23 de Julio de 2009, 19:41 »
bien tengo este codigo a medio armar el problema es que al momento de vender un departamento tengo que verificar que primero existe, segundo si esta ocupado o desocupado, y al estar desocupado asignarlo como ocupado para que no se vuelva a vender. el problema esta en que no puedo hacer eso del case 3 lo que me explicaron es que se asignaba al principio donde creaba los deptos desocupado y al momento de venderlos ivan cambiando a ocupado pero esa parte no la pude hacer por que me confundi :S espero que me puedan ayudar con este problemita... saludos. #include<stdio.h> #include<stdlib.h> typedef struct str_departamento { int n_habitaciones; int n_banos; float precio_dpto; int n_dpto; }departamento; typedef struct str_deuda { float cancelado; float debe; }deuda; typedef struct str_persona { char nombre[20]; int edad; char rut[9]; }persona; typedef struct str_edificio { char nombre[20]; int pisos; departamento dpto[3]; persona habitante; deuda deuda_cliente; }edificio; edificio crear_edificio(edificio); edificio crear_dpto(edificio); edificio vender_dpto(edificio); edificio pagar_dpto(edificio); void pago_mayor(edificio); void dpto_ocupados(edificio); void dpto_desocupados(edificio); int main() { int op; edificio edif; persona dueno; do{ printf("----------------MENU--------------"); printf("n----------------------------------n"); printf("-----1> crear_edificio------------n"); printf("-----2> agregar departamento------n"); printf("-----3> vender departamento-------n"); printf("-----4> pagar departamento--------n"); printf("-----5> mostrar persona >50-------n"); printf("-----6> departamentos ocupados----n"); printf("-----7> departamentos desocupados-n"); printf("-----8> salir---------------------n"); printf("elija una opcion: nn"); scanf(" %d",&op); switch(op) { case 1: crear_edificio(edif); break; case 2: crear_dpto(edif); break; case 3: vender_dpto(edif); break; case 4: pagar_dpto(edif); break; case 5: pago_mayor(edif); break; case 6: dpto_ocupados(edif); break; case 7: dpto_desocupados(edif); break; default : printf("opcion invalida"); break; } }while(op!=8); return EXIT_SUCCESS; } edificio crear_edificio(edificio a ) { printf("ingrese nombre del edificionn"); scanf("%s",&a.nombre); return a; } edificio crear_dpto(edificio a) { int i; for(i=1;i<=3;i++) { printf("nningrese numero departamenton"); scanf("%d",&a.dpto[i].n_dpto); printf("ningrese numero de habitacionesn"); scanf("%d",&a.dpto[i].n_habitaciones); printf("ningrese numero de banosn"); scanf("%d",&a.dpto[i].n_banos); printf("ningrese precio del departamenton"); scanf("%f",&a.dpto[i].precio_dpto); } return a; } edificio vender_dpto(edificio a) { int i,p; printf("ingrese nombre del compradornn"); scanf("%s",a.habitante.nombre); printf("ingrese rut del compradorn"); scanf("%s",a.habitante.rut); printf("ingrese edad del compradorn"); scanf(" %d",&a.habitante.edad); printf("que departamento decea comprarn"); scanf(" %d",&p); //------------------------------------ es aqui el PROBLEMA--------------------------------- for(i=1;i<=3;i++){ } if(p==a.dpto[i].n_dpto) { printf("es suyo el dpton"); } else{ printf("no existe el dpton"); } //----------------------------------------------------------------- return a; } edificio pagar_dpto(edificio a) { int i; printf("ingrese numero de dpto a pagarnn"); scanf("%d",&i); printf("el valor del dpto es: "); printf("%f",a.dpto[i].precio_dpto); printf("nningrese monto cancelado del departamentonn"); scanf("%f",&a.deuda_cliente.cancelado); return a; } void pago_mayor(edificio a) { printf("%sn",a.habitante.nombre); printf("%sn",a.habitante.rut); } void dpto_ocupados(edificio a) { } void dpto_desocupados(edificio a) { }
5
« en: Viernes 10 de Julio de 2009, 05:32 »
no ese no es el problema, pero ya lo solucione era por las { y otra cosita pequeña saludos
6
« en: Jueves 9 de Julio de 2009, 04:03 »
vi y el problema que no me copia esta aqui pero no se que colocar para que me copie el texto fputs(fgets(frase,30000,g1),g2);
7
« en: Jueves 9 de Julio de 2009, 01:45 »
al apretar la opcion 3 se me cae el programa y no me copia :/ #include <stdio.h>> #include <stdlib.h> int main() { int la; printf("Ingrese el numero para eligir la opcionn"); printf("[1] Ingresar nuevo texton"); printf("[2] Ver el texton"); printf("[3] Copiar el texto en texto.txtn"); printf("[4] SALIRn"); char linea[30000]; fgets(linea, sizeof(linea), stdin); sscanf(linea, "%d", &la); char frase[30000]; switch(la){ case 1: FILE *g1; g1=fopen("frase.txt","w"); printf("Ingrese texto: n"); //scanf("%s",&frase); fgets(frase, sizeof(frase), stdin); fputs(frase,g1); fclose(g1); break; case 2: FILE *g2; g2=fopen("frase.txt","r"); if(g2==NULL){ printf("EL ARCHIVO NO EXISTEn"); }else{ while(!feof(g2)){ fgets(frase,30000,g2); printf("%sn",frase); fputs(frase,g2); fclose(g2); break; case 3: FILE *f1,*f2; f1=fopen("frase.txt","r"); f2=fopen("copia.txt","w"); if(f1==NULL){ printf("EL ARCHIVO NO EXISTEn"); }else{ while(!feof(f1)){ fputs(fgets(frase,30000,f1),f2); } } fclose(f1); fclose(f2); break; case 4: exit(0); break; default: printf("ERROR: ingrese el numero correcton"); break; } } system("PAUSE"); return EXIT_SUCCESS; } }
8
« en: Miércoles 1 de Julio de 2009, 03:35 »
:O filete ahora me funciona el codigo gracias :
9
« en: Lunes 29 de Junio de 2009, 23:54 »
ahora me salio bueno pero tengo un pequeño problema que lo que necesito para el programa es que grabe 30000 caracteres y solamente me graba hsata el 1º espacio :/ ahi cm lo podria solucionar es ahi cuando empese colocar el 2 codigo que me solucionaria eso... sl2
10
« en: Lunes 29 de Junio de 2009, 22:46 »
lo ise cm me dijiste pero aun asi tube problemas :/ despues probe cn este codigo que es un poko mas facil pero todavia me da problemas... el dev c++ me dice que tengo este problema storage size of 'string' isn't known y no se cm solucionarlo #include <stdio.h>> #include <stdlib.h> int main() { char* leer_stdin(char string[30000], int largo); char string[]; { int i; int largo=30000; setbuf( stdin, NULL ); fgets (string, largo , stdin); for(i=0; i<largo; i++) if(string[i]=='n') string[i]=' '; return string; } } {
11
« en: Lunes 29 de Junio de 2009, 20:14 »
mira son los problemas que me causa el string ( char frase[30000] ) mira te dejo una foto para que veas lo que me dice el problema pd: el programa que utilizo es el dev c++ ese es el link fotosupload.com/mostrar.php?imagen=FuD95263_sdfsdfsfsd.jpg
12
« en: Lunes 29 de Junio de 2009, 06:06 »
bueno miren tengo que hacer este problema el cual no me puede funcionar por 2 pequeños problemas... miren es este problema 1. Crear un programa en c que cree un archivo que contenga texto como un cuento ingresado por el usuario, el nombre del archivo debe ser ingresado por el usuario, el máximo de caracteres será de 30.000 caracteres, el programa debe permitir escribir el archivo, ver el archivo y copiar el archivo a uno llamado copia.txt. #include <stdio.h>> #include <stdlib.h> int main() { int la; printf("[1] Ingrese el numero para eligir la opcionn"); printf("[2] Ingresar nuevo texton"); printf("[4] Copiar el texto en texto.txtn"); switch(la){ case 1: FILE *g1; char frase[30000]; g1 =fopen("frase.txt","w"); break; case 2: FILE *g2; char frase[30000]; g2 =fopen("frase.txt","r");if(g2==NULL){ printf("EL ARCHIVO NO EXISTEn"); }else{ break; case 3: FILE *f1,*f2; char frase[30000]; f1 =fopen("frase.txt","r");f2 =fopen("copia.txt","w");if(f1==NULL){ printf("EL ARCHIVO NO EXISTEn"); }else{ } } break; break; default: printf("ERROR: ingrese el numero correcton"); break; } } return EXIT_SUCCESS; } }
bueno es pero que me traten de ayudar o solucionar este problema. sl2
Páginas: [1]
|
|
|