Zadatak mi glasi ovako:
Napisati aplikaciju koja ispisuje pozdravnu aplikaciju (npr. Kako ste danas), potom omogućuje množenje i djeljenje dva broja i prikazuje rezultat. Okruženje je visual studio 2010, unaprijed se zahvaljujem
Zadatak mi glasi ovako:
Napisati aplikaciju koja ispisuje pozdravnu aplikaciju (npr. Kako ste danas), potom omogućuje množenje i djeljenje dva broja i prikazuje rezultat. Okruženje je visual studio 2010, unaprijed se zahvaljujem
evo znam da nije c# i nadam se da će ti netko pomoći to rješiti....mene samo zanima od ovih starijih i iskusnijih programera dali sam ja taj zadatak dobro napisao i c++-u???
naime, tek sam počeo sa c++ i vidim ovdje jedan lakši zadatak pa bih vas molio da me ispravite ako sam gdje pogrješio jer sam novi i želim vidit dali sam shavtio...
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
float a;
float b;
float c;
int poruka;
cout << "Kako ste danas?" << endl;
cin >> poruka;
cout << endl << "Unesite prvi broj: " << endl;
cin >> a;
cout << endl << "Unesite drugi broj: " << endl;
cin >> b;
cout << "Sto zelite raditi?" << endl;
cout << "1 - mnoziti" << endl;
cout << "2 - djeliti" << endl;
cin >> c;
switch (c)
{
case 1:
cout << a << " x " << b << " = " << a * b << endl;
break;
case 2:
cout << a << " : " << b << " = " << a / b << endl;
break;
default:
cout << "Morate kliknuti 1 ili 2 !"<< endl;
break;
}
system("pause");
return 0;
}
Koju vrstu projekta si napravio, konzolu, WinForms, sto?
Koju vrstu projekta si napravio, konzolu, WinForms, sto?
konzola
Znači osnovno sto ce ti trebati je.
Console.WriteLine("Tekst blablabla"); //Ispisuje željeni tekst
Console.ReadLine(); //Vraca korisnikov input
Ostalo bi trebao znati, ako imas kakvih problema kasnije javi.
class zdravo
{
static void Main(){
Console.WriteLine("Zdravo svima!");
Console.WriteLine("Unesite dva broja!");
var a=ReadLine();
var b=ReadLine();
Console.WriteLine("Proizvod je {0}, a količnik je {1}", (a*b), (a/b));
}
}
class zdravo
{
static void Main(){
Console.WriteLine("Zdravo svima!");
Console.WriteLine("Unesite dva broja!");
var a=ReadLine();
var b=ReadLine();
Console.WriteLine("Proizvod je {0}, a količnik je {1}", (a*b), (a/b));
}
}
Ako mu ti riješiš zadatak to nema smisla, pomozi mu i nek sam riješi.
to jeste, ali ako ga programiranje neinteresuje, zašto da se muči, kada mu je to samo za ocjenu.
ja iman problem...napisa san ovaj program i kompajler mi izbacuje sljedecu gresku na mjestu form1...da li zna netko u cemu je problem?? hvala
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace moj_prvi_projekt
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int i = 0;
private int k = 0;
private int n = 0;
private void button1_Click(object sender, EventArgs e)
{
n = Int32.Parse(textBox1.Text);
k = Int32.Parse(textBox2.Text);
for (i = k; i <= n; i++)
{
if ((i % k) == 0)
{
listBox1.Items.Add(i.ToString());
}
}
}
}
Type alredy defines a member called "Form1" with the same parameter types
Možeš poslat još i kako ti izgleda Form1.Designer.cs ...
a sta je to?? pocetnik sam pa se jos dobro ne snalazin u visual studiu 2010
Aha. :)
Ovako, otvori Solution Explorer (Ako ga već nemaš otvorenog, onda "View / Solution Explorer") i pronađi Form1.cs. Klikni na trokutić sa lijeve strane Form1.cs da ti se prikažu svi povezani fajlovi. Među njima bi trebao biti i Form1.Designer.cs. Otvori i pošalji sadržaj.
Aha. :)
Ovako, otvori Solution Explorer (Ako ga već nemaš otvorenog, onda "View / Solution Explorer") i pronađi Form1.cs. Klikni na trokutić sa lijeve strane Form1.cs da ti se prikažu svi povezani fajlovi. Među njima bi trebao biti i Form1.Designer.cs. Otvori i pošalji sadržaj.
namespace moj_prvi_projekt
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form1";
}
#endregion
}
}
To sve izgleda ok. Jedino što bi ti trebao javit još koju grešku jer textBox1, textBox2 i listBox1 nigdje nisu definirani.
Pogledaj po cijelom projektu da li još negdje imaš definiran Form1 (Edit / Find and Replace / Find in Files pa potraži Form1 u Entire Solution). Provjeri da li se pojavljuje još negdje osim u ova dva fajla (Form1.cs i Form1.Designer.cs).
Da, sve izgleda u redu, osim sto Form1.Designer.cs izgleda prazno. Tu bi ti trebali biti definirani botuni, textboxovi, listboxevi, povezivanje dogadjaja ..sve kontrole koje imas na formi. Ali opet po ovome kodu ovdje cudno je da to nemas jer ne bi imao ni intellisense podrsku, te bi trebao bacati drugacije greske.
Probaj napravi Build->Clean<imeProjekta> , pa nakon toga Build->Build<imeProjekta>
Ako ne dodjes do rjesenja , uploadaj negdje cijeli projekt pa mozemo pogledati, jer ovako u najmanju ruku, zvuci cudno :)
class zdravo
{
static void Main(){
Console.WriteLine("Zdravo svima!");
Console.WriteLine("Unesite dva broja!");
var a=ReadLine();
var b=ReadLine();
Console.WriteLine("Proizvod je {0}, a količnik je {1}", (a*b), (a/b));
}
}
Kod ti nije baš dobar, ReadLine se koristi za stringove, a ja pretpostavljam da ne misliš strtingove dijeliti, usput zaboravio si staviti Console ispred ReadLine, pošto si stavio var C# će automatski tražiti tip podatka koji odgovara kada si stavio ReadLine, on je prepoznao funkciju za unos stringa i dodjelio varijablama a i b vrijednost string.
var a=Console.Read();
var b=Console.Read();
Evo rješenja ako nekome još treba:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Unijeti prvi argument");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Unijeti drugi argument");
double b = Convert.ToDouble(Console.ReadLine());
double c = a * b;
Console.WriteLine("Rezultat množenja je {0}", c);
Console.ReadLine();
}
}
}
Može se uzeti i TryParse metod koji vraća bool vrijednost prilikom konvertiranja stringa u broj i to iskoristiti da se osigura od krivog unosa, tj. iznimki.
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
double prviBroj, drugiBroj;
do
{
Console.Write("Unesi prvi broj: ");
} while (!double.TryParse(Console.ReadLine(), out prviBroj));
do
{
Console.Write("Unesi drugi broj: ");
} while (!double.TryParse(Console.ReadLine(), out drugiBroj));
Console.WriteLine("{0} + {1} = {2}", prviBroj, drugiBroj, prviBroj + drugiBroj);
Console.WriteLine("{0} X {1} = {2}", prviBroj, drugiBroj, prviBroj * drugiBroj);
}
}
}
Pozdrav, ovo mi je prvi post ali vas odma moram zamoliti za pomoc imam zadacu za faks i vec se neko vrijeme mucim a nikako ju ne mogu rijesiti.
.
Dakle ovo moram napraviti :
1. Potrebno je u aplikaciji omogućiti da korisnik unosi sljedeće podatke: Naziv valute (npr. USD, EUR, ili dr.) – ovaj unos možete napraviti ili u TextBox ili u ComboBox ili u ListBox kontrolu, nazive valuta preuzmite sa web stranica banaka Tečaj valute (jedinični iznos te valute u HRK) – ovaj unos napraviti u TextBox Iznos koji korisnik želi pretvoriti – također unos u TextBox
2. Nakon unosa gornjih vrijednosti, korisniku treba omogućiti klik na dugme na kojem piše „Izračunaj“ ili „Preračunaj“ ili „Pretvori“ ili „Kreni“ ili nešto slično.
3. Nakon što korisnik klikne na dugme, program treba preračunati vrijednost u HRK i na formi ispisati u labelu ili u okvir za tekst preračunati iznos u HRK. Izračun treba napraviti koristeći varijable različitih tipova (string, double).
......najveci problem mi je sto niako ne mogu pomnoziti 2 textboxa...nadam se da cete mi moci pomoci
......najveci problem mi je sto niako ne mogu pomnoziti 2 textboxa...nadam se da cete mi moci pomoci
Trebas string iz textboxa konvertirati u brojcanu vrijednost, pa onda mnozi , zbrajaj, oduzimaj sto hoces.
npr.
double prvi = (double)TextBox1.Text;
double drugi = (double)TextBox2.Text;
double umnozak = prvi * drugi;
Ako se zelis zastiti od nepravilno popunjenih vrijednosti u textboxovima, koristi Double.TryParse ili lovi exception.
Ne može sa cast operatorom konvertirati string u double.
Može ići ovako:
string brojUStringu = TextBox1.Text;
try
{
double broj1 = double.Parse(brojUStringu);
}
catch
{
TextBox1.Text = "Neispravan unos broja";
}
A cijela se logika ovog programa svodi na jedno, klikom na button Izračun pozivaš odgovarajući event handler koji poziva metod, npr Izracun.
private void btn_Izracun (object sender, EventArgs e)
{
Izracun();
}
A kako dobiješ ovaj event handler, samo u Design načinu rada dvostruko klikneš na taj button Izračun, stvori se event handler i u njemu napišeš ovo.
Metod Izracun napiši sam.
Dakle, imao si pogrešan pristup, ne množiš TextBox-ove, preko njih unosiš varijable na gornji način (preko TextBox-ova unosiš stringove, u TextBox-ovima prikazuješ stringove).
Kad program obavi izračun, iste TextBoxove koristiš za prikaz.
npr., kad nam metod Izracun kao rezultat vrati double vrijednost rezultat, njega u TextBox-u prikažeš ovako:
TextBox1.Text = rezultat.ToString();
Ne može sa cast operatorom konvertirati string u double.
Može ići ovako:
string brojUStringu = TextBox1.Text;
try
{
double broj1 = double.Parse(brojUStringu);
}
catch
{
TextBox1.Text = "Neispravan unos broja";
}
Istina, htio sam mu nabrzinu napisati sto jednostavniji primjer, pa sam se malo zanio :)
Ma, sve pet, i meni se desi, i svma
tu smo da pomognemo jedan drugom i naučimo nešto
...
Evo rješenja ako nekome još treba:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Unijeti prvi argument");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Unijeti drugi argument");
double b = Convert.ToDouble(Console.ReadLine());
double c = a * b;
Console.WriteLine("Rezultat množenja je {0}", c);
Console.ReadLine();
}
}
}
Pozdrav, jel' mi netko može pomoći oko zadaće? Ovako, kao što je ovaj program za množenje gore, meni isto takav program treba još za dijeljenje, oduzimanje i zbrajanje (sve u jednom). Profesor nam je rekao nešto kao da nakon toga za zbrajanje unesemo z, za oduzimanje o, za dijeljenje d i množenje m. Pritiskom na F5 trebala bi se moći izračunati svaka od aritmetičkih operacija. Unaprijed zahvaljujem! :-)
Ukoliko točan razlog zbog kojeg konverzija nije uspjela nije bitan, preporučuje se upotreba TryParse metode. Exceptioni uzimaju svoj danak u performansama i ako se neka stvar može napravit bez njihove upotrebe, onda treba ići u tom smjeru. Nije da će se performanse u ovom zadatku nešto posebno poznat, ali ipak je to jedan od primjera dobre prakse koje se nije loše držat.
Još malo na tu temu: http://stackoverflow.com/questions/150114/parsing-performance-if-tryparse-try-catch
Pozdrav. Trebam jednu malu pomoć. Trebam napraviti program u C++ ali mi nikako neide pa ako bi mi mogli pomoći jer me ove petlje ubijaju u pojam.
Zadatak mi glasi ovako :
Napisati program koji učitava koordinate vrhova trokuta i određuje da li je zadani trokut jednakostraničan, jednakokračan ili raznostraničan.
Ja sam počeo riješavati i mislio sam da sam našao rješenje ali nije to to, ne funkcionira ovaj moj sistem.
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main ()
{
float ax,ay,bx,by,cx,cy;
float a,b,c;
printf ("Unesi koordinate prvog vrha :");
scanf ("%d%d" , &ax , &ay );
printf ("Unesi koordinate drugog vrha :");
scanf ("%d%d)" , &bx , &by );
printf ("Unesi koordinate treceg vrha :");
scanf ("%d%d" , &cx , &cy );
a = sqrt ( pow (ax-bx,2) + pow (ay-by,2) );
b = sqrt ( pow (bx-cx,2) + pow (by-cy,2) );
c = sqrt ( pow (ax-cx,2) + pow (ay-cy,2) );
if (a=b , b=c , a=c )
{
printf ("Vas trokut je jednakostranican.\n");
}
if (a=b , b=c , a!=c )
{
printf ("Vas je trokut jednakokracan.\n");
}
if (a=b , b!=c , a=c )
{
printf ("Vas je trokut jednakokracan.\n");
}
if (a!=b , b=c , a=c )
{
printf ("Vas je trokut jednakokracan.\n");
}
if (a!=b , b!=c , a!=c )
{
printf ("Vas je trokut raznostranican.\n");
}
getch ();
return 0;
}
Evo mog pokušaja pa ako mi makar možete ukazati na moje greške bio bih vam zahvalan :))