Avatar billede mryom Nybegynder
04. februar 2002 - 12:39 Der er 9 kommentarer og
2 løsninger

Hurtig Hjælp!!!

Hejsa Experter!!!!

Jeg har lavet lidt c programmering(jeg har fået lidt undervisning i det).

Men da jeg kun har fået meget lidt undervisning har jeg nogle store huller i min c/c++ viden...

så jeg ville være glad vis der var nogle der kunne, udfra den neden for stående text/programmering kunne smide nogle kommentare ind, så som hva gør include <iostream.h> fx og hva med cout, cin, scanf, %d, %f også videre det ville være en rigtig STOR hjælp TAK

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define x 20
#define y 5

char ch;

void main(void)

{

  start:
  float v,a,o,w,rtot;

  char tal;
  float srtot,prtot;
  int pm,sm,t;
  clrscr(); //rens sk&#8216;rmen

  _setcursortype(_NOCURSOR); //Ingen cursor

  textcolor(WHITE); //tekstfarve (hvid)
  textbackground(BLUE); //baggrundsfarve (bl&#8224;)
  clrscr(); //rens sk&#8216;rmen
//hovedmenu start
  printf("\n\n\t\t\t\      Lommeregner");
  printf("\n\n\t\t\t\    V&#8216;lg 1,2 eller 3");
  printf("\n\n\n\t\t [1]:Udregning af:\n\t\t    Sp&#8216;nding, Modstand, Str&#8250;m og Effekt");
  printf("\n\t\t [2]:Parallelforbindelse");
  printf("\n\t\t [3]:Serieforbindelse");
  printf("\n\n [Q]:Quit");
  ch = getch();
//hovedmenu slut
  switch(ch)
{
case '1': //menu 1
{
  clrscr(); // rens sk&#8216;rmen
  gotoxy(x+3,y); //g&#8224; to x,y
  printf("Udregning af U,I,R og P");
  gotoxy(x-19,y+20);
  printf("Indtast 0 hvor svaret er ukendt");
  gotoxy(x,y);
  cout<<"\n\nIndtast Volt: "<<endl; //printf
  cin>>v; //input
  cout<<"Indtast Amp&#352;re: "<<endl;
  cin>>a;
  cout<<"Indtast Ohm: "<<endl;
  cin>>o;
  cout<<"Indtast Watt: "<<endl;
  cin>>w;
//udregninger
  if((a!=0)&&(o!=0)&&(v==0)&&(w==0))
  {
    v = a*o;
    w = a*a*o;
  }
  else if((a!=0)&&(v!=0)&&(o==0)&&(w==0))
  {
    w = v*a;
    o = v/a;
  }
  else if((a!=0)&&(w!=0)&&(o==0)&&(v==0))
  {
    o = w/(a*a);
    v = w/a;
  }
  else if((o!=0)&&(v!=0)&&(a==0)&&(w==0))
  {
    a = v/o;
    w = v*v/o;
  }
  else if((o!=0)&&(w!=0)&&(a==0)&&(v==0))
  {
    a = sqrt(w/o);
    v = sqrt(w*o);
  }
  else if((v!=0)&&(w!=0)&&(a==0)&&(o==0))
  {
    a = w/v;
    o = v/w;
  }
  else if((a!=0)&&(o!=0)&&(w!=0)&&(v==0))
  {
    v = a*o;
    v = w/a;
    v = sqrt(w*o);
  }
  else if((v!=0)&&(o!=0)&&(w!=0)&&(a==0))
  {
    a = sqrt(w/o);
    a = w/v;
    a = v/o;
  }
  else if((a!=0)&&(v!=0)&&(w!=0)&&(o==0))
  {
    o = w/a*a;
    o = v*v/w;
    o = v/a;
  }
  else if((a!=0)&&(o!=0)&&(v!=0)&&(w==0))
  {
    w = v*a;
    w = v*v/o;
    w = a*a*o;
  }
//udregning slut
//resultat:
  cout<<"\n\tVolt = "<< v <<endl;
  cout<<"\n\tAmp&#352;re = "<< a <<endl;
  cout<<"\n\tOhm = "<< o <<endl;
  cout<<"\n\tWatt = "<< w <<endl;
  gotoxy(x-19,y+20);
  cout<<"Tryk P&#8224; Enter For At Komme Tilbage Til Hoved Menuen";
break; //pause
}

case '2': //menu 2
    clrscr(); //rens sk&#8216;rm
    gotoxy(x-19,y+20);
    printf("Der Kan Max V&#8216;lges 32767 Modstande");
    gotoxy(x,y);
    printf("Udregning af Parallel Forbindelse");
    printf("\n\nIndtast Antal Modstande: ");
    scanf("%d",&pm);
    prtot = 0.0;
//udregnings metode
    for(t=1;t<=pm;t++)
    {
    printf("Indtast Ohm %d: ",t);
    scanf("%f",&o);
    prtot=prtot+(1/o);
    }
//resultat
    printf("\nRtot= %.2f Ohm\n",1/prtot);
    gotoxy(x-19,y+20);
    printf("Tryk P&#8224; Enter For At Komme Tilbage Til Hoved Menuen");
    break;

case '3': //menu 3
    clrscr(); //rens sk&#8216;rm
    gotoxy(x-19,y+20);
    printf("Der Kan Max V&#8216;lges 32767 Modstande");
    gotoxy(x,y);
    printf("Udregning af Seriel Forbindelse");
    printf("\n\nIndtast Antal Modstande: ");
    scanf("%d",&sm);
    srtot = 0.0;
//udregnings metode
    for(t=1;t<=sm;t++)
    {
    printf("Indtast Ohm %d: ",t);
    scanf("%f",&o);
    srtot=srtot+o;
    }
//resultat
    printf("\nRtot= %.2f Ohm\n",srtot);
    gotoxy(x-19,y+20);
    printf("Tryk P&#8224; Enter For At Komme Tilbage Til Hoved Menuen");
    break;

    case 'q':
    goto end;
    }
    getch();
    goto start; //g&#8224; til start
    end: // slut/exit
    }

ps I må sige til hvis hundrede point ikke er nok!!!
Avatar billede jpk Nybegynder
04. februar 2002 - 12:45 #1
100 point er alt for meget for så simpelt et spørgsmål..
30 ville passe bedre...

Og igen, du bør navngive dine spørgsmål bedre!
Avatar billede mryom Nybegynder
04. februar 2002 - 13:01 #2
sorry, det vil jeg prøve at gøre næste gang!!!
Avatar billede professoren Nybegynder
04. februar 2002 - 16:07 #3
<stdio.h> er en headerfil fra standard C, og %d %f, scanf, print osv. kan
bruges.

<iostream.h> er en c++ headerfil, og cin, cout er C++ objects

Du kan bruge begge metoder i c++, men iostream metoder anbefales...
Avatar billede mickni33 Nybegynder
04. februar 2002 - 16:09 #4
#include <iostream.h>  //C++ :når der bruges cin>> indtaster værdi. cout<< udskriver værdi på skærmen

#include <conio.h>  //C++ :bruges af goto sætningerne og getch() som stopper program så man kan nå at læse det inden skærmbilledet forsvinder
også farve funktionerne bruges her
#include <stdio.h> bruges af C til printf()som = cout<< i c++. sætningerne og scanf()=cin>> i c++

#include <math.h> // bruges af sqrt() funktione til at udregne


puhaaaa
måske er der en der har tid til at tage over
Avatar billede kamikaze Nybegynder
05. februar 2002 - 10:29 #5
Helt grundliggende:

#include <filnavn> betyder, at dit program inkluderer den fil der står imellem < og >. Dette kaldes header-filer. En header-fil kan indeholde funktioner, som du så kan benytte i dit program. Til standard C (eller ANSI C) hører der en række header-filer, heriblandt stdio.h, stdlib.h, math.h osv.

#define x 20 betyder at du definerer x som værdien 20. Når du skriver x i din kode, vil kompileren bytte x'et ud med tallet 20. Du kunne fx. skrive:
#define mryon printf("MRYON");
Når du så skriver mryou i din kode, vil kompileren indsætte linien printf("MRYON"); i din kode istedet for.
Avatar billede mryom Nybegynder
05. februar 2002 - 21:26 #6
Nu har jeg lavet en liste over de komadoere jeg har problemer med så prøv lige at se om det er rigtigt det jeg har skrevet!! Jeg har stadigvæk ikke fundet ud af hva %f %d char og int betyder/gør... håber i kan hjælpe!!!!


#include <> = Header-fil. En header-fil kan indeholde funktioner, som du så kan benytte i dit program fx gotoxy, printf(); osv.
#define x 20 = definere x
float = dec. tal
clrscr(); = renser skærmen
_setcursortype(_NOCURSOR); = ingen markør
textcolor(28); = text farve
printf(); = viser texten i parentesen på skærmen
cout = det samme som printf();
cin = når der bruges cin>> indtaster værdi. cout<< udskriver værdi på skærmen
switch
case '1': = menu "punkt" 1 / menu nr 1. Når der trykkes fx 1 går den til case'1'
gotoxy(x,y); = går til kordinaterne "x,y"
scanf = det samme som cin
break; = pause
sqrt = kvadratroden af et tal
endl; = linie skift
getch(); = "standser"/"pauser" programmert
/n = linie skift
/t = tabulator
%f
%d
char
int
Avatar billede mryom Nybegynder
05. februar 2002 - 21:29 #7
og switch
Avatar billede jpk Nybegynder
06. februar 2002 - 09:45 #8
float: single precision decimaltal (i Win32 4 byte)
break: (betyder IKKE pause), afslutter den tætteste do, for, switch, eller while.
endl: linieskift (tømmer buffer således teksten bliver udskrevet)
\n (ikke /n)
\t (ikke /t)
%f betyder at datatypen er float
%d betyder at datatypen er et heltal
char: en karakter (i Win32 et 1-byte tal, -128 til 127, der repræsenterer en karakter)
int: kort for integer (heltal) er i Win32 4 byte.
Avatar billede mryom Nybegynder
06. februar 2002 - 11:06 #9
ja tak så er der lige switch funktionen, før jeg begynder at dele point ud!!
Avatar billede jpk Nybegynder
06. februar 2002 - 11:18 #10
switch: Bruges til mere komplekse konditionelle operationer (i modsætning til if) Udtrykket skal være af integral type eller kunne evalueres til sådant. (altså kan fx en streng ikke bruges)
Avatar billede mryom Nybegynder
06. februar 2002 - 17:50 #11
Ja så må jeg jo give jer jeres point :-)
TAKKER for svarene

LUKKET!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester